컬렉션 프레임워크
데이터 군을 저장하는 클래스들을 표준화한 설계
컬렉션 프레임워크에는 List, Set, Map 인터페이스가 존재한다.
이중 List와 Set의 공통된 부분을 뽑아서 새로운 인터페이스인 Collection을 추가로 정의하였다.
인터페이스 |
특징 |
List |
순서가 있는 데이터의 집합. 데이터의 중복 허용. |
구현 클래스 : ArrayList, LinkedList, Stack, Vector |
|
Set |
순서가 없는 데이터의 집합. 데이터의 중복 허용하지 않음. |
구현 클래스 : HashSet, TreeSet |
|
Map |
Key와 Value의 쌍으로 이루어진 데이터의 집합. 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용함. |
구현 클래스 : HashMap, TreeMap, Hashtable, Properties |
Vector, Hashtable과 같은 기존의 컬렉션 클래스들은 호환을 위해, 설계를 변경해서 남겨두었지만, 가능하면 사용하지 않는 것이 좋다.
그 대신 새로 추가된 ArrayList, HashMap을 사용하는 것이 좋다.
List 인터페이스
"중복 허용"과 "저장 순서 유지"
메서드 |
설명 |
void add(int index, Object element) boolean addAll(int index, Collection c) |
지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가한다. |
Object get(int index) |
지정된 위치(index)에 있는 객체를 반환한다. |
int indexOf(Object o) |
지정된 객체의 위치(index)를 반환한다. (List의 첫 번째 요소부터 순방향으로 찾는다.) |
int lastIndexOf(Object o) |
지정된 객체의 위치(index)를 반환한다. (List의 마지막 요소부터 역방향으로 찾는다.) |
ListIterator listIterator() ListIterator listIterator(int index) |
List의 객체에 접근할 수 있는 ListIterator를 반환한다. |
Object remove(int index) |
지정된 위치(index)에 있는 객체를 삭제하고 삭제된 객체를 반환한다. |
Object set(int index, Object element) |
지정된 위치(index)에 객체(element)를 지정한다. |
void sort(Comparator c) |
지정된 비교자(comparator)로 List를 정렬한다. |
List subList(int fromIndex, int toIndex) |
지정된 범위(fromIndex부터 toIndex)에 있는 객체를 반환한다. |
Set 인터페이스
"중복 허용X"와 "저장 순서 유지X"
Map 인터페이스
"Key-Value"
메서드 |
설명 |
void clear() |
Map의 모든 객체 삭제 |
boolean containsKey(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 객체에 연결하여 저장 |
void putAll(Map t) |
지정된 Map의 모든 key-value 쌍을 추가 |
Object remove(Object key) |
지정한 key 객체와 일치하는 key-value 객체 삭제 |
int size() |
Map에 저장된 key-value 쌍의 개수 반환 |
Collection values() |
Map에 저장된 모든 value 객체 반환 |
Map 인터페이스에서 값은 중복이 허용되기 때문에 value()의 반환타입은 Collection이고,
키는 중복을 허용하지 않기 때문에 keySet()의 반환타입은 Set이다.
'Java' 카테고리의 다른 글
[Java] 예외처리 (0) | 2019.01.16 |
---|---|
[Java] 추상클래스와 인터페이스 (0) | 2019.01.03 |
[Java] Vector 클래스 (0) | 2019.01.03 |
[Java] 다형성 (0) | 2019.01.01 |
[Java] 제어자 (0) | 2019.01.01 |