Java 컬렉션 프레임워크는 데이터를 효율적으로 저장하고 관리하기 위해 설계된 구조를 제공합니다. 이번 블로그에서는 Java 컬렉션 프레임워크의 핵심 구성 요소인 List, Set, Map의 차이점과 각각의 활용 사례를 알아보겠습니다.
1. Java 컬렉션 프레임워크란?
Java 컬렉션 프레임워크(Collection Framework)는 데이터 구조와 알고리즘을 제공하는 표준화된 라이브러리입니다. 이를 사용하면 데이터 저장, 검색, 정렬 등을 손쉽게 처리할 수 있습니다. 주요 인터페이스는 다음과 같습니다
2. List: 순서가 있는 데이터
List는 요소의 저장 순서를 유지하며, 중복된 요소를 허용합니다. 데이터를 순서대로 관리해야 하거나 특정 위치에 있는 요소를 자주 액세스할 경우 유용합니다.
주요 구현 클래스
ArrayList
LinkedList
Vector
특징
예제
import java.util.ArrayList;
public class ListExample {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Apple");
for (String item : list) {
System.out.println(item);
}
}
}
출력
Apple
Banana
Apple
3. Set: 중복되지 않는 데이터
Set은 중복을 허용하지 않는 컬렉션입니다. 데이터의 유일성을 보장해야 하거나 특정 요소의 포함 여부를 확인할 때 사용합니다.
주요 구현 클래스
HashSet
LinkedHashSet
TreeSet
특징
HashSet
), 정렬된 순서를 유지(예: TreeSet
)합니다.예제
import java.util.HashSet;
public class SetExample {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Apple");
for (String item : set) {
System.out.println(item);
}
}
}
출력: (순서는 랜덤일 수 있습니다.)
Apple
Banana
4. Map: 키-값(Key-Value) 쌍
Map은 키와 값을 하나의 쌍으로 관리하며, 각 키는 고유합니다. 키를 통해 값을 빠르게 검색할 때 유용합니다.
주요 구현 클래스
HashMap
LinkedHashMap
TreeMap
특징
예제
import java.util.HashMap;
public class MapExample {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 3);
map.put("Banana", 5);
map.put("Apple", 10); // 키가 동일할 경우 값이 업데이트됨
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
}
}
출력
Apple: 10
Banana: 5
5. List, Set, Map의 차이점
특징 | List | Set | Map |
---|---|---|---|
중복 허용 여부 | 허용 | 허용하지 않음 | 키는 허용하지 않음, 값은 허용 |
순서 유지 여부 | 유지 | LinkedHashSet 만 유지 | LinkedHashMap 만 유지 |
주요 사용 사례 | 순차 데이터 관리 | 고유한 데이터 관리 | 키를 통해 값 관리 |
6. 컬렉션 선택 기준
Java 컬렉션 프레임워크는 다양한 데이터 관리 요구를 충족시킬 수 있는 강력한 도구입니다. List, Set, Map의 차이를 이해하고 적절히 활용하면 효율적이고 읽기 쉬운 코드를 작성할 수 있습니다. 프로젝트의 요구 사항에 따라 올바른 컬렉션을 선택하여 사용해 보시기 바랍니다.
다음 블로그에서는 Java 8의 람다(Lambda)와 스트림(Stream) API 활용법에 대해 알아 보겠습니다. 감사합니다.
일상에서 벗어나 진정한 휴식을 꿈꾼다면, 일본 하코네 온천 료칸만큼 매력적인 여행지도 드물 것입니다. 하지만 검색만…
디즈니랜드 여행을 앞두고 가장 중요한 고민 중 하나는 바로 “숙소 선택”입니다. 꿈같은 하루를 선물하고 싶은…
스이카 카드 발급 해야하는 이유 "도쿄 지하철 정복은 스이카 카드 없으면 절대 불가능합니다!" "이 카드…
리버 크루즈를 타야만 하는 이유 "오사카 여행에서 낮에는 활기찬 거리, 밤에는 화려한 네온사인으로 물든 도시를…
오사카 여행에 필수적인 교통패스인 오사카 교통패스에 대해 소개 하겠습니다. 일본 오사카 여행을 준비 중이시라면, 효율적인…
후쿠오카는 일본 여행지 중에서도 근교 여행지와 맛집, 쇼핑, 자연 풍경, 도시를 한 번에 즐길 수…