0%

CollectionFramework

컬렉션 프레임웍(collections framework)

  • 컬렉션

    • 여러 객체(데이터)를 모아 놓은 것을 의미
  • 프레임원(framework)

    • 표준화, 정형화된 체계적인 프로그래밍 방식
  • 컬렉션 프레임웍

    • 컬렉션을 다루기 위한 표준화된 프로그래밍 방식
    • 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
    • java.util패키지에 포함
  • 컬렉션 클래스(collection class)

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

컬렉션 프레임웍의 핵심 인터페이스

  • List
    • 순서가 있는 데이터의 집합. 데이터의 중복을 허용
    • ex) 대기자 명단
    • 두현클래스: ArrayList, LinkedList, Stack, Vector 등
  • Set
    • 순서를 유지하지 않는 데이터의 집합. *데이터의 중복을 허용하지 않음 *
    • ex)양의 정수 집합, 소수의 집합
    • HashSet, TreeSet 등
  • Map
    • 키와 값의 쌍으로 이루어진 데이터의 집합. 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용
    • ex)우편번호, 지역번호(전화번호)
    • HashMap, TreeMap, Hashtable, Properties 등

List인터페이스 - 순서O, 중복O

  • 핵심: ArrayList, LinkedList
메서드 설명
void add(int index, Object element)
boolean add(int index, Collection c)
지정된 위치에 객체 또는 컬렉션에 포함된 객체들을 추가
Object get(int index) 지정된 위치에 있는 객체를 반환
int indexOf(Object o) 지정된 객체의 위치를 반환(List의 첫 번쨰 요소부터 순방향으로 찾음)
int lastindexOf(Object o) 지정된 객체의 위치를 반환
(List의 마지막 요소부터 역방향으로 찾음)
Listlterator listlterator()
LIstlterator listlterator(int index)
List의 객체에 접근할 수 있는 Listlterator를 반환a
Object remove(int index) 지정된 위치에 있는 객체를 삭제하고 삭제된 객체를 반환
Object set(int index, Object element) 지정된 위치에 객체를 저장
void sort(Comparator c) 지정된 비교자로 List를 정렬
List subList(int fromindex, int tolndex) 지정된 범위에 있는 객체를 반환

Set인터페이스 - 순서X, 중복X

  • 핵심: HashSet, TreeSet
  • Set인터페이스의 메서드는 Collection인터페이스와 동일
  • 집합과 관련된 메서드(Colleciton에 변화가 있으면 true, 아니면 false를 반환)
메서드 설명
boolean addAll(Collection c) 지정된 Collection(c)의 객체들을 Collection에 추가(합집합)
boolean containsAll(Collection c) 지정된 Collection(c)의 객체들이 Collection에 포함되어 있는지 확인(부분집합)
boolean removeAll(Collection c) 지정된 Collection(c)에 포함된 객체들을 삭제(차집합)
boolean retainAll(Collection c) 지정된 Collection(c)에 포함된 객체만을 남기고나머지는 Collection에서 삭제(교집합)

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

  • 핵심: HashMap, TreeMap
메서드 설명
void clear() Map의 모든 객체를 삭제
boolean containKey(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(Oeject key) 지정한 key객체와 일치하는 key-value객체를 삭제
int size() Map에 저장된 key-value쌍의 개수를 반환
Collection values() Map에 저장된 모든 value객체를 반환