Java

Java_컬렉션 자료구조_컬렉션 프레임워크

ssmm95 2024. 10. 17. 16:33

컬렉션프레임워크 (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은 입력 순서를 유지한다