컬렉션프레임워크 (Collection Framework)
: 데이터를 저장하고 관리하기 위한 구조와 알고리즘을 제공하는 라이브러리 집합이다
: Java는 널리 알려져 있는 자료구조 (Data Structure)를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록
관련된 인터페이스와 클래스들을 java.util 패키지에 포함시켜 놓았다
주요 인터페이스로는 List, Set, Map
| 인터페이스 분류 | 특징 | 구현 클래스 |
| List | - 요소를 순서대로 저장하며 중복을 허용한다 | - ArrayList, LinkedList, Vector, Stack |
| - 배열처럼 인덱스를 통해 요소에 접근할 수 있다 | ||
| Set | - 요소의 순서를 유지하지 않으며, 중복을 허용하지 않는다 | - HashSet, LinkedHashSet, TreeSet |
| - 고유한 요소 집합을 유지할 때 유용하다 | ||
| Map | - **키-값 쌍(Key-Value Pair)**으로 데이터를 저장하며, 키는 중복을 허용하지 않는다 | - HashMap, LinkedHashMap, TreeMap, Hashtable, WeakHashMap, IdentityHashMap |
| - 키를 통해 값에 빠르게 접근할 수 있다 | ||
| Queue | - 요소를 FIFO(First-In-First-Out) 방식으로 처리한다 | - LinkedList, PriorityQueue, ArrayDeque |
| - 먼저 추가된 요소가 먼저 처리된다 | ||
| Deque | - 양쪽 끝에서 삽입 및 삭제가 가능한 양방향 큐이다 | - ArrayDeque, LinkedList |
- List: 배열과 비슷한 구조로, 순서를 중요하게 생각하는 경우 사용된다 예를 들어, ArrayList는 빠른 읽기와 쓰기를 제공하고, LinkedList는 삽입과 삭제가 빠르다
- Set: 중복 요소가 허용되지 않기 때문에 고유한 값 집합을 유지할 때 유용하다 HashSet은 빠른 검색이 가능하고, TreeSet은 요소를 정렬하여 저장한다
- Queue: **우선순위 큐(PriorityQueue)**는 요소를 우선순위에 따라 정렬하여 처리한다 LinkedList도 큐 인터페이스를 구현해 순서대로 요소를 처리할 수 있다
- Deque: 스택과 큐의 기능을 동시에 제공해, 양쪽에서 삽입 및 삭제가 가능하다 ArrayDeque는 메모리 효율성이 높고, 스택이나 큐의 용도로 사용할 수 있다
- Map: 키와 값의 쌍으로 데이터를 저장하며, HashMap은 빠른 검색과 삽입을 지원한다 TreeMap은 키를 정렬하여 저장하고, LinkedHashMap은 입력 순서를 유지한다
'Java' 카테고리의 다른 글
| Java_컬렉션 자료구조_ArrayList,LinkedList (0) | 2024.10.17 |
|---|---|
| Java_컬렉션 자료구조_List 컬렉션 (0) | 2024.10.17 |
| Java_스레드풀(threadPool), 스레드풀의 종료 (0) | 2024.10.17 |
| Java_데몬 스레드 (2) | 2024.10.17 |
| Java_스레드의 안전종료 (0) | 2024.10.17 |