자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현 클래스를
java.util
패키지에서 제공한다.
이들을 총칭해서 컬렉션 프레임워크(Collection Framework) 라고 부른다.컬렉션은 다수의 데이터 그룹을, 프레임워크는 표준화된 프로그래밍 방식 라이브러리를 말한다.
인터페이스 | 특징 | 구현 클래스 |
---|---|---|
List | 1. 순서가 있다. 2. 데이터 중복 허용한다. | ArrayLit, LinkedList, Stack, Vector 등 |
Set | 1. 순서가 없다. 2. 데이터 중복 허용하지 않는다. | HashSet,TreeSet 등 |
Map | 1. 키(key) 와 값(value) 의 쌍(pair) 로 이루어진 데이터 집합 2. 순서가 없다. 3. 키(key) 는 중복 허용하지 않는다.4. 값(value) 은 중복 허용한다. | HashMap, TreeMap 등 |
List와 Set의 조상인 Collection 인터페이스, JAVA API Document 에 다음과 같은 메서드 들이 정의되 있다.
Method | Description |
---|---|
boolean add(E e) boolean addAll(Collection c) | 지정된 객체(e) 또는 Collection(c)의 객체들을 Collection에 추가 |
void clear() | Collection의 모든 객체를 삭제 |
boolean contains(Object o) boolean containsAll(Collection <?> c) | 지정된 객체(o) 또는 Collection의 객체들이 Collection에 포함되어 있는지 확인 |
boolean equals(Object o) | 동일한 Collection인지 비교 |
int hashCode() | Collection의 hash code를 반환 |
boolean isEmpty() | Collection이 비어있는지 확인 |
Iterator<E> iterator() | Collection의 iterator를 얻어서 반환 |
boolean remove(Object o) | 지정된 객체(o)를 삭제한다. |
boolean removeAll(Collection<?> c) | 지정된 Collection에 포함된 객체들을 삭제 |
boolean retainAll(Collection<?> c) | 지정된 Collection에 포함된 객체만을 남기고 다른 객체들은 Collection에서 삭제한다. 이 작업으로 Collection에 변화가 있으면 true, 아니면 false 반환 |
int size() | Collection에 저장된 객체 수 반환 |
Object[] toArray() | Collection에 저장된 객체를 객체배열(Object[])로 반환 |
Object[] toArray(Object[] a) | 저장된 배열에 Collection의 객체를 저장해서 반환 |