자바 컬렉션 프레임워크 (List, Set, Map)
데이터를 효율적으로 저장하고 가공하기 위해 자바가 기본 제공하는 표준 자료구조 모음집이 컬렉션 프레임워크(Collection Framework)입니다. 대표적으로 3가지 인터페이스가 사용됩니다.
- List (ArrayList): 순서가 보장되며, 데이터 중복을 허용합니다. (대기표 방식)
- Set (HashSet): 순서가 없고, 데이터 중복을 허용하지 않습니다. (장바구니 방식)
- Map (HashMap): Key-Value(키-값) 쌍으로 이루어져 있으며, Key는 중복 불가능합니다. (사전 방식)
import java.util.ArrayList;
import java.util.HashSet;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 1. List (순서 보장, 중복 허용)
List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("Java"); // 중복 가능
System.out.println("List: " + list); // [Java, Python, Java]
// 2. Set (순서 없음, 중복 불가)
Set<String> set = new HashSet<>();
set.add("Java");
set.add("Python");
set.add("Java"); // 중복 무시됨
System.out.println("Set: " + set); // [Java, Python] (순서 랜덤)
// 3. Map (Key-Value 쌍, Key 중복 불가)
Map<String, Integer> scores = new HashMap<>();
scores.put("Alice", 90);
scores.put("Bob", 85);
scores.put("Alice", 95); // 같은 키로 넣으면 덮어씌워짐
System.out.println("Map: " + scores); // {Bob=85, Alice=95}
System.out.println("Alice의 점수: " + scores.get("Alice")); // 95
}
}