1. 정의
- 컬렉션 : 여러 객체를 모아 놓은 것
- 프레임워크 : 표준화, 정형화된 체계적인 프로그래밍 방식
- 컬렉션 프레임워크
- 다수의 객체를 다루기 위한 표준화된 프로그래밍 방식
- java.util 포함, jdk 1.2부터 포함
2. 핵심 인터페이스
- List interface
- 순서 있음, 중복 허용
- 구현 클래스 : ArrayList, LinkedList, Stack, Queue, Vector 등
- Set interface
- 순서 없음, 중복 안됨
- 구현 클래스 : HashSet
- Map interface
- key, value의 쌍으로 이루어진 데이터의 집합
- 순서 유지 안됨, key는 중복 안됨, value 중복 허용
- 구현 클래스 : HashMap, TreeMap
3. Collection 인터페이스 메소드
- add()
- clear()
- contain(Object o)
- isEmpty()
- remove(Object o)
- removeAll()
- size()
- Iterator()
- addAll(Collection c) : 합집합
- removeAll(Collection c) : 차집합
- retainAll(Collection c) : 교집합
- containAll(Collection c) : 부분집합 (포함 됐는지 아닌지 확인)
4. List, Set 인터페이스 메소드
- get(int index)
- indexof(Object o) (set 제외)
- lastindexOf(Object o) (set 제외)
- List subList(int from, int to)
5. Map 인터페이스 메소드
- containKey(Object key) : key 객체의 존재 확인
- containValue(Object value) : value 객체의 존재 확인
- equals : 동일한 map인지 판단
- get(Object key)
6. Stack과 Queue
- Stack : LIFO 구조
- Queue : FIFO 구조
7. Enumeration. Iterator, ListIterator
- Enumeration은 Iterator의 구버전
- Iterator는 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화 한 객체
- hasNext() : 읽어 올 요소가 존재하는지
- next() : 다음 요소 읽기
- remove() : next()로 가져온 요소를 삭제
- ListIterator
- Iterator의 상위 호환 버전 (단방향 -> 양방향)
- hasPrevious()
- nextIndex() : 다음 요소의 index
8. HashMap
- 데이터를 키와 값의 쌍으로 저장
- hashing 기법으로 데이터 저장, 데이터가 많아도 검색 빠름
- method
- put(k, v)
- remove(k)
- replace(k, v) : 지정된 k의 v로 대체