컬렉션 프레임웍(collections framework)
컬렉션
- 여러 객체(데이터)를 모아 놓은 것을 의미
프레임원(framework)
- 표준화, 정형화된 체계적인 프로그래밍 방식
컬렉션 프레임웍
- 컬렉션을 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
java.util
패키지에 포함
컬렉션 클래스(collection class)
- 다수의 데이터를 저장할 수 있는 클래스(ex. Vector, ArrayList, HashSet)
컬렉션 프레임웍의 핵심 인터페이스
List
- 순서가 있는 데이터의 집합. 데이터의 중복을 허용함
- ex) 대기자 명단
- 두현클래스: ArrayList, LinkedList, Stack, Vector 등
Set
- 순서를 유지하지 않는 데이터의 집합. *데이터의 중복을 허용하지 않음 *
- ex)양의 정수 집합, 소수의 집합
- HashSet, TreeSet 등
Map
- 키와 값의 쌍으로 이루어진 데이터의 집합. 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용함
- ex)우편번호, 지역번호(전화번호)
- HashMap, TreeMap, Hashtable, Properties 등
List인터페이스 - 순서O, 중복O
- 핵심: ArrayList, LinkedList
메서드 | 설명 |
---|---|
void add(int index, Object element) boolean add(int index, Collection c) |
지정된 위치에 객체 또는 컬렉션에 포함된 객체들을 추가 |
Object get(int index) | 지정된 위치에 있는 객체를 반환 |
int indexOf(Object o) | 지정된 객체의 위치를 반환(List의 첫 번쨰 요소부터 순방향으로 찾음) |
int lastindexOf(Object o) | 지정된 객체의 위치를 반환 (List의 마지막 요소부터 역방향으로 찾음) |
Listlterator listlterator() LIstlterator listlterator(int index) |
List의 객체에 접근할 수 있는 Listlterator를 반환a |
Object remove(int index) | 지정된 위치에 있는 객체를 삭제하고 삭제된 객체를 반환 |
Object set(int index, Object element) | 지정된 위치에 객체를 저장 |
void sort(Comparator c) | 지정된 비교자로 List를 정렬 |
List subList(int fromindex, int tolndex) | 지정된 범위에 있는 객체를 반환 |
Set인터페이스 - 순서X, 중복X
- 핵심: HashSet, TreeSet
- Set인터페이스의 메서드는 Collection인터페이스와 동일
- 집합과 관련된 메서드(Colleciton에 변화가 있으면 true, 아니면 false를 반환)
메서드 | 설명 |
---|---|
boolean addAll(Collection c) | 지정된 Collection(c)의 객체들을 Collection에 추가(합집합) |
boolean containsAll(Collection c) | 지정된 Collection(c)의 객체들이 Collection에 포함되어 있는지 확인(부분집합) |
boolean removeAll(Collection c) | 지정된 Collection(c)에 포함된 객체들을 삭제(차집합) |
boolean retainAll(Collection c) | 지정된 Collection(c)에 포함된 객체만을 남기고나머지는 Collection에서 삭제(교집합) |
Map인터페이스 - 순서X, 중복(키X, 값O)
- 핵심: HashMap, TreeMap
메서드 | 설명 |
---|---|
void clear() | Map의 모든 객체를 삭제 |
boolean containKey(Object key) | 지정된 key객체와 일치하는 Map의 key객체가있는지 확인 |
boolean containsValue(Object value) | 지정된 value객체와 일치하는 Map의 value객체가 있는지 확인 |
Set entrySet() | Map에 저장되어 있는 key-value쌍을 Map,Entry타입의 객체로 저장한 Set을 반환 |
boolean equals(Object o) | 동일한 Map인지 비교 |
Object get(Object key) | 지정한 key객체에 대응하는 value객체를 찾아서 반환 |
int hashCode() | 해시코드를 반환 |
boolean isEmpty() | Map이 비어있는지 확인 |
Set keySet() | Map에 저장된 모든 key객체를 반환 |
Object put(Object key, Object value) | Map에 value객체를 key객체에 연결(mapping)하여 저장 |
void putAll(Map t) | 지정된 Map의 모든 key-value쌍을 추가 |
Object remove(Oeject key) | 지정한 key객체와 일치하는 key-value객체를 삭제 |
int size() | Map에 저장된 key-value쌍의 개수를 반환 |
Collection values() | Map에 저장된 모든 value객체를 반환 |