AVA - 컬렉션 프레임웍(Collections Framework) (1)

컬렉션 프레임웍이란, '데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다.

컬렉션은 데이터 그룹을, 프레임웍은 표준화된 프로그래밍 방식을 의미한다.

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

List

  • 순서가 있는 데이터의 집합
  • 데이터의 중복을 허용
  • 구현 클래스 : ArrayList, LinkedList, Stack, Vactor

Set

  • 순서를 유지하지 않는 데이터의 집합
  • 데이터의 중복 허용하지 않음
  • 구현 클래스 : HashSet, TreeSet

Map

  • 'key'와 'value'의 쌍으로 이루어진 데이터 집합
  • 순서를 유지하지 않음
  • 키는 중복을 허용하지 않지만, 값은 중복을 허용한다
  • 구현 클래스 : HashMap, TreeMap, Properties 등

Collection 인터페이스
컬렉션 클래스에 저장된 데이터를 읽고, 추가하고, 삭제하는 등 컬렉션을 다루는데 가장 기본적인 메서들을 정의하고 있다.

List인터페이스
List인터페이스는 중복을 허용하면서 저장 순서가 유지되는 컬렉션을 구현하는데 사용된다.

Set인터페이스
Set인터페이스는 중복을 허용하지 않고, 저장순서가 유지되지 않는 컬렉션 클래스를 구현하는데 사용된다.

Map인터페이스
Map인터페이스는 key와 value를 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는 데 사용된다.
키는 중복될 수 없지만 값은 중복을 허용한다.
기존에 저장된 데이터와 중복된 키와 값을 저장하면 기존의 값은 없어지고 마지막에 저장된 값이 남게된다.

Map.Entry인터페이스
Map인터페이스의 내부 인터페이스다. 내부 클래스와 같이 인터페이스도 인터페이스 안에 인터페이스를 정의하는 내부 인터페이스를 정의하는 것이 가능하다.
Map에 저장되있는 key-value쌍을 다루기 위해 내부적으로 Entry인터페이스를 정의해 놓았다.

보다 객체지향적으로 설계하도록 유도하기 위한 것으로 Map인터페이스를 구현하는 클래스에서는 Map.Entry인터페이스도 함께 구현해야 한다.

public interface Map{
	public static interface Entry{
    	Object getKey();
        Object getValue();
        Object getValue(Object value);
        boolean equals(Object o);
        int hashCode();
    }
}

좋은 웹페이지 즐겨찾기