자바의 정석_Collections

네코·2022년 7월 7일
0

자바의 정석

목록 보기
2/2

Collection framwork

데이터 군을 저장하는 클래스들을 표준화한 설계를 의미한다.
JDK1.2 이전까진 vector,properties,hashtable 등을 서로 각자의 방식으로 처리해야 했으나
JDK1.2부터 다양한 컬렉션 프레임워크가 등장해 컬렉션 클래스가 등장했다.

장점

  • 다수의 데이터를 다루는데 편리한 기능들을 제공한다
  • 인터페이스와 다형성을 이용한 객체지향적 설계로 표준화 되어
    사용하기 편하며 재사용성 높은 코드 작성이 가능하다.

핵심 인터페이스

데이터 그룹이 크게 3가지로 타입이 존재한다고 인식했다.
List, Set, Map

이 중 List와 Set의 공통된 기능을 뽑아 Collection 을 추가로 정의했다

Collection

  • 컬렉션 클래스에 저장된 데이터 읽기,추가,삭제 등 기본 연산 메서드들을 정의한다.

    boolean add(), addAll(), contains, containsAll, equals, isEmpty(),
    remove(),removeAll(), retainAll()toArray(),

List

  • 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현하는데 사용한다
  • vector, ArrayList, LinkedList, Stack

    void add(int idx,Object element)
    Object get(int idx)
    int indexOf()
    sort()
    Object set(int idx,Obejct element)

Set

  • 중복을 허용하지 않고 저장순서가 유지되지 않는 컬렉션을 구현하는데 사용한다.
  • HashSet. TreeSet

Map

  • key and value을 하나의 쌍으로 묶어서 저장하는 컬렉션을 구현하는데 사용한다.
    키는 중복될 수 없으나 값은 중복될 수 있다.
  • 내부적으로 Entry 인터페이스가 존재한다.
  • HashTable, HashMap, LinkedHashMap, SortedMap, TreeMap

    void clear()
    boolean containsKey(Object key)
    boolean containsValue(Object value)
    Set keySet()
    Object put(Object key, Object value)
    Object remove(Object key)
    Collection values()

0개의 댓글