컬렉션 프레임워크(Collection framework)란?
자바에서 컬렉션 프레임워크(collection framework)는 여러 개의 값을 효과적으로 관리하는 객체를 말합니다.
다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합입니다.
즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다.
이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현됩니다.
컬렉션 프레임워크 주요 인터페이스
컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있습니다.
1. List 인터페이스
2. Set 인터페이스
3. Map 인터페이스
List와 Set은 모두 Collection을 상속받지만, 구조상의 차이로 인해 Map은 별도로 정의됩니다.
따라서 List 인터페이스와 Set 인터페이스의 공통된 부분을 Collection 인터페이스에서 정의하고 있습니다.
해당 그림에서 <E>나 <K, V>등 컬렉션 프레임워크를 구성하는 클래스가 제네릭으로 표현되어 있습니다.
주요 인터페이스의 간략한 특징
인터페이스 | 설명 | 구현 클래스 |
List<E> | 순서가 있으며 중복을 허용하는 데이터의 집합 | Vector, ArrayList, LinkedList, Stack, Queue |
Set<E> | 순서가 없으며 중복을 허용하지 않는 데이터의 집합 | HashSet, TreeSet |
Map<K, V> | 키와 값의 한 쌍인 데이터의 집합이며 순서가 없음 (키는 중복 가능 / 값은 중복 불가능) |
HashMap, TreeMap, Hashtable, Properties |
컬렉션 클래스(collection class)
컬렉션 프레임워크에 속한 인터페이스를 구현한 클래스를 컬렉션 클래스(collection class)라고 합니다.
컬렉션 프레임워크의 모든 컬렉션 클래스는 List와 Set, Map 중 하나의 인터페이스를 구현하고 있습니다.
또한, 클래스 이름에 대게 구현한 인터페이스 이름이 포함되어 있어 구분할 수 있습니다.
import java.util.*;
public class Collection {
public static void main(String[] args) {
// 리스트 생성
ArrayList<String> arrList = new ArrayList<String>();
// 리스트에 요소의 저장
arrList.add("넷");
arrList.add("둘");
arrList.add("셋");
arrList.add("하나");
// 리스트 요소의 출력
for(int i = 0; i < arrList.size(); i++) {
System.out.println(arrList.get(i));
}
}
}
'Java 관련 > Java' 카테고리의 다른 글
[Java] List Collection(리스트 컬렉션) (0) | 2021.11.13 |
---|---|
[Java] 백터(Vector) & 향상된 for문(foreach) (0) | 2021.11.12 |
[Java] 제네릭(Generic) (0) | 2021.11.10 |
[Java] 싱글톤 패턴(Singleton pattern) (0) | 2021.11.09 |
[Java] 내부 클래스(inner class) (0) | 2021.11.08 |