JAVA

Collections Framework

junnrecorder 2023. 8. 12. 23:39

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