Programming/Java
[Java] 컬렉션 프레임워크와 계층 구조
kmindev
2023. 11. 3. 10:57
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다.
1. 컬렉션 프레임웍의 핵심 인터페이스
- 핵심 인터페이스로는 List, Set, Map이 있다.
- List, Set은 공통된 부분이 많아 공통 부분을 인터페이스(Collection)으로 정의했다.
- Map은 List, Set과 달리 key-value 구조이기 때문에 별도의 인터페이스로 정의했다.
a. List
- 순서를 유지하고, 데이터 중복을 허용한다.
- 구현클래스: ArrayList, Vector, LinkedList, Stack 등
b. Set
- 순서를 유지하지 않고, 데이터 중복을 허용하지 않는다.
- 순서를 유지하고 싶으면 LikedHashSet 사용
- 구현클래스: HashSet, TreeSet 등
c. Map
- Key, Value 구조의 데이터 집합
- 순서는 유지되지 않는다.
- 순서를 유지 하고 싶으면 LikedHashMap
- key는 중복X, value는 중복O
- 구현클래스: HashMap, TreeMap, HashTable, Properties 등
Map 인터페이스 내부 Entry 인테페이스
- key-value 구조를 다루기 위해 내부 인터페이스(Entry)를 정의했다.
public interfac Map<K, V> {
// ...
public static interface Entry {
Object getKey();
Object getValue();
Object setValue(Object value);
boolean equals(Object o);
int hashCode();
// ...
}
}