남궁성님의 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();
// ...
}
}
'Programming > Java' 카테고리의 다른 글
[Java] 람다식(Lambda) (0) | 2023.11.03 |
---|---|
[Java] 쓰레드(Thread) - 1(쓰레드 구현 방법) (0) | 2023.11.03 |
[Java] .java(소스파일) vs. .class(바이트코드파일) vs. .jar (0) | 2023.10.20 |
[Java] try-catch 예외처리 (0) | 2023.10.16 |
[Java] 내부 클래스(inner class)란? (0) | 2023.10.16 |