Collections Framework란?
- 데이터 군을 저장하는 클래스들을 표준화한 설계
장점
- 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있다.
- 따라서 사용법도 익히기 쉽고, 재사용성이 높은 코드를 작성할 수 있다.
Collections Framework에서는 그룹을 크게 3가지로 나눈다.(List, Set, Map)
※List와 Set을 구현한 컬렉션 클래스들은 서로 많은 공통 부분이 있어서, 공통 부분을 뽑아
Collection 인터페이스를 정의할 수 있었지만, Map 인터페이스는 이들과는 전혀 다른 형태로 컬렉션을
다루기 때문에 같은 상속계층도에 포함되지 못했다.
인터페이스 | 특징 |
List | 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다. |
구현클래스 : ArrayList, LinkedList, Stack, Vector 등 | |
Set | 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. |
구현 클래스 : HashSet, TreeSet 등 | |
Map | 키(Key)와 값(Value)의 쌍(pair)으로 이루어진 데이터의 집합 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다. |
구현 클래스 : HashMap, TreeMap, Hashtable, Properties 등 |
Collection 인터페이스 (List 와 Set의 조상 인터페이스)
메서드 | 인터페이스 |
boolean add(Object o) boolean addAll(Collection c) |
지정된 객체(o) 또는 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 iterator() | Collection의 Iterator를 얻어서 반환한다. |
boolean remove(Object) 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의 객체를 저장해서 반환한다. |
'JAVA' 카테고리의 다른 글
Map 인터페이스 (0) | 2023.08.13 |
---|---|
List 인터페이스 (0) | 2023.08.13 |
overriding 이란? (0) | 2023.08.12 |
overloading 이란? (0) | 2023.08.12 |
스택 (0) | 2023.07.24 |