Collection Framework

0

Collection

목록 보기
1/11

Collection Framework란

  • Collection(다수의 객체)를 다루기 위한 표준화 된 프로그래밍 방식
  • Collection을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공(저장, 삭제, 검색, 정렬)
  • java.util 패키지에 포함, JDK 1.2 부터 제공

Collection Class(컬렉션 클래스)

  • 다수의 데이터를 저장할 수 있는 클래스
    (ex Vector, ArrayList, HashSet ...)

Collection Framework의 핵심 인터페이스

인터페이스특징
List순서가 있는 데이터의 집합, 데이터의 중복을 허용
Set순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다.
Map키(Key)와 값(Value)의 쌍(pair)으로 이루어진 데이터의 집합, 순서는 유지되지 않으며, 키는 중복을 허용하지 않고 값은 중복을 허용한다.

List와 Set의 공통 부분을 뽑아서 Collection이라는인터페이스를 정의

Collection 인터페이스의 메서드

method설명
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 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 객체를 저장해서 반환한다.

List 인터페이스 - 순서 있음, 중복 허용

method설명
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 listItoerator()
ListIterator listIterator(int index)
List의 객체에 접근할 수 있는 ListIterator를 반환한다.
Object remove(init index)지정된 위치(index)에 있는 객체를 삭제하고 삭제된 객체를 반환한다.
Object set(int index, Obejct element)지정된 위치(index)에 객체(element)를 저장한다.
void sort(Comparator c)지정된 비교자(comparator)로 List를 정렬한다.
List subList(int fromIndex, int toIndex)지정된 범위(formIndex부터 toIndex)에 있는 객체를 반환한다.

추가, 검색, 삭제, 정렬에 관한 메소드를 가지고 있다.

Set 인터페이스 - 순서 없음, 중복 허용안함

Set 인터페이스의 메소드는 Collection 인터페이스와 동일하다.
대신 집합과 관련된 메서드(Collection에 변화가 있으면 true, 없으면 false를 반환)를 가지고 있다.

method설명
boolean addAll(Collection c)지정된 Collection의 객체들을 Collection에 추가한다. (합집합)
boolean containsAll(Collection c)지정된 Collection의 객체들이 Collection에 포함되어 있는지 확인한다. (부분집합)
boolean removeAll(Collection c)지정된 Collection에 포함된 객체들을 삭제한다. (차집합)
boolean retainAll(Collection c)지정된 Collection에 포함된 객체만을 남기고 나머지는 Collection에서 삭제한다.(교집합)

Map 인터페이스 - 순서 없음, 중복(키는 X, 값은 O)

method설명
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 객체에 연결(mapping)하여 저장한다.
void putAll(Map t)지정된 Map의 모든 key-value쌍을 추가한다.
Object remove(Object key)지정한 key 객체와 일치하는 key-value 객체를 삭제한다.
int size()Map에 저장된 key-value쌍의 개수를 반환한다.
Collection values()Map에 저장된 모든 value객체를 반환 한다.

검색, 추가, 삭제 메소드를 가지고 있으며, entrySet(), keySet(), values()로 데이터를 읽을 수 있다.
키와 값을 합친 것을 Entry라고 한다.

0개의 댓글