‣

- 크기 지정 X
- 경우에 따라 다향한 자료형 가능( Object..)
- 출력이 용이 ( Arrays.toString() 불필요 )
- 컬렉션 프레임워크?
- API(인터페이스) + 자료구조(구현체) + 알고리즘(유틸 메서드) 를 한 세트로 제공
- 같은 코드로 다양한 타입을 담게 하려고 제네릭을 씀 (
List<E>, Map<K,V> 등)
- 핵심 인터페이스 & 의미
- Collection<E>(상위)
- List: 순서 보존, 중복 허용 (
ArrayList, LinkedList)
- Set: 중복 X, 보통 순서 없음 (
HashSet/LinkedHashSet/TreeSet)
- Queue/Deque: FIFO/양끝 큐 (
ArrayDeque, PriorityQueue)
- Map<K,V> (Collection의 하위 아님): 키-값 쌍 (
HashMap, LinkedHashMap, TreeMap)
- 정렬/비교 규칙
- List 정렬:
list.sort(Comparator...) or Collections.sort(list)
- Set/Map의 동등성: 키/원소의
equals + hashCode 기준(주소 아님)
- 정렬된 컬렉션:
TreeSet/TreeMap은 Comparable/Comparator 필요
언제 무엇을 쓸까 (치트시트)