본문 바로가기
JAVA

[컬렉션 프레임웍] 컬렉션 프레임웍의 정의와 핵심 인터페이스

by devnyang 2024. 3. 4.
반응형

컬렉션 프레임웍


- 데이터 군을 저장하는 클래스들을 표준화한 설계를 뜻한다. 라이브러리는 공통으로 사용될만한 유용한 기능을 모듈화하여 제공하고, 프레임웍은 단순히 기능뿐만 아니라 프로그래밍 방식을 정형화 하여 프로그램의 개발 생산성을 높이고 유지보수를 용이하게 한다.

 

핵심 인터페이스


- Map과 Collection 인터페이스를 정의할 수 있는 List, Set 인터페이스가 있다.

 

 

List


순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. ex)대기자 명단

구현클래스로는 ArrayList, LinkedList, Stack, Vertor 등이 있다.

 

메서드

  • void add(int index, Object element), boolean addAll(int index, Collection c) : 지정된 위치(index)에 객체 또는 컬렉션에 포함된 객체들을 추가.
  •  Object get(int index) : 지정된 위치에 있는 객체 반환.
  •  int indexOf(Object o) : 첫번째 요소부터 순방향으로 지정된 객체의 위치를 반환
  •  int lastIndexOf(Object o) : 마지막 요소부터 역방향으로 지정된 객체의 위치를 반환.
  •  ListIterator listIteratro(), ListIterator listIterator(int index) : List의 객체에 접근한 수 있는 ListIterator 반환
  • Object remove(int index) : 지정된 위치에 있는 객체를 삭제하고 삭제된 객체 반환.
  • Object set(int index, Object element) : 지정된 위치에 객체를 저장.
  • void sort(Comparator c) : 지정된 비교자로 List 정렬.
  • List subList(int fromIndex, int toIndex) : 지정된 범위에 있는 객체를 반환.

 

 

Set


순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. ex) 양의 정수집합, 소수의 집합

구현클래스로는 HashSet, TreeSet 등이 있다.

 

메서드

  • void add(int index, Object element), boolean addAll(int index, Collection c) : 지정된 위치(index)에 객체 또는 컬렉션에 포함된 객체들을 추가.
  • void clear() : Collection 의 모든 객체 삭제
  • boolean contains(Object o), boolean containsAll(Collection c) : 지정된 객체 또는 Collection의 객체들이 Collection에 포함되어있는지 확인
  • boolean equals(Object o) : 동일한 Collection인지 비교
  • int hashCode() : Collection의 hashcode반환.
  • boolean isEmpty() : Collection이 비어있는지 확인.
  • Iterator iterator() : Collection의 Iterator을 얻어서 반환.
  • boolean remove(Object o) : 지정된 객체를 삭제
  • boolean removeAll(Collection c) : 지정된 Collection 에 포함된 객체들을 삭제.
  • boolean retainAll(Collection c) : 지정된 Collection 에 포함된 객체만을 남기고 다른 객체들은 Collection에서 삭제. 변화가 있으면 true, 없으면 false.
  • int size() : Collection에 저장된 객체의 개수 반환.
  • Object[] toArray() : Collection에 저장된 객체를 객체배열(Object[])로 반환.
  • Object[] toArray(Object[] a) : 지정된 배열에 Collecction의 객체를 저장해서 반환.
  •  

 

 

Map


키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합으로 순서는 유지되지 않는다. 키는 중복을 허용하지 않고 값은 중복을 허용한다.  ex) 우편번호, 지역번호

구현클래스로는 HashMap, TreeMap, HashTable, Properties 등이 있다.

 

메서드

  • void clear() : Map의 모든 객체 삭제.
  • boolean containsKey(Object key) : 지정된 key객체와 일치하는 Map 의 key객체가 있는지 확인.
  • boolean containsValue(object value) : 지정된 valude 객체와 일치하는 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 - vlaue 쌍 추가.
  • int size() : Map에 저장된 key-value쌍의 개수 반환.
  • Collection values() : Map에 저장된 모든value객체 반환.

 

 

Collection 인터페이스의 메서드

  • boolean add(Object o), boolean addAll(Collection c) : 지정된 객체(o) 또는 Collection(c)의 객체들을 Collection에 추가한다.
  • void clear() : Collection의 모든 객체 삭제
  • boolean contions(Object o), boolean containsAll(Collection c) : 지정된 객체 또는 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 에서 삭제한다. 변화가 있으면 true, 없으면 false.
  • int size() : Collection에 저장된 객체의 개수를 반환한다.
  • Object[] toArray() : Collection에 저장된 객체를 객체배열로 반환.
  • Object[] toArray(Object[] a) : 지정된 배열에 Collection 의 객체를 저장해서 반환.

참고) 자바의 정석 기초편

반응형

'JAVA' 카테고리의 다른 글

[컬렉션 프레임웍] ArrayList와 LinkedList  (0) 2024.03.05
[Java] Calendar 클래스 사용법  (0) 2024.03.04