Collection Framework (Java)

권세원·2023년 3월 28일
0

컬렉션 프레임워크(Collection Framework)

배열을 보완하는 컬렉션(collection)

다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합


사용

public static void main(String[] args) {
	List<String> snack = new ArrayList<String>();
	snack.add("cookie");
	snack.add("candy");
        
	System.out.println(snack[0]); // cookie

	int size = snack.size(); // 2
}

인터페이스

컬렉션 프레임워크는 인터페이스를 통해 구현된다.

데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스들을 정의하고 있다.

  • List 인터페이스
  • Set 인터페이스
  • Map 인터페이스

이 중에서 List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의된다.

따라서 List 인터페이스와 Set 인터페이스의 공통된 부분을 Collection 인터페이스에서 정의한다.


인터페이스간 상속관계

위의 그림에서 나 <K, V>라는 것은 컬렉션 프레임워크를 구성하는 모든 클래스가 제네릭으로 표현되어 있음을 알려준다.


계층구조

검정색은 인터페이스, 파랑색은 클래스, 실선 화살표는 상속, 점선 화살표는 구현을 의미한다.


이점

  • 가변적인 저장 공간을 제공한다. 고정적인 저장 공간을 제공하는 배열에 대비되는 특징이다.
  • 자료구조, 알고리즘을 구현하기 위한 코드를 직접 작성할 필요 없이, 이미 구현된 컬렉션 클래스를 목적에 맞게 선택하여 사용하면 된다.
profile
rnsjtpdnjs

0개의 댓글