컬렉션 프레임워크란? (Collection Framework)
컬렉션 프레임워크는 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합입니다.
다른 말로 설명해보면, 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 잘 구조화한 클래스들이라고 할 수 있습니다.
모든 컬렉션 프레임워크는 인터페이스, 클래스, 알고리즘으로 구성되어 있습니다.
또한 컬렉션 프레임워크의 모든 클래스와 인터페이스는 java.util 패키지에서 사용할 수 있습니다.
💡 클래스와 인터페이스 간단하게!
- 인터페이스 : 메서드만 넣어 놓고, 자세한 건 implements 키워드를 사용하여 다른 일반 클래스에서 구현해야 합니다.
- 클래스 : 구체적인 설계/구현부. 메서드들의 집합이라고 할 수 있어요.
컬렉션 프레임워크의 계층 구조
자바의 컬렉션 프레임워크의 계층 구조입니다.
Collection 인터페이스를 직접 상속 받는 List, Set, Queue Collection 모두 비슷한 구조를 가지고 있습니다.
메서드 또한 단순히 요소를 추가하거나, 삭제하는 메서드들이 대부분입니다.
반면에, Map Collection은 데이터가 key-Value 쌍으로 저장되어 구조가 다릅니다. 그래서 별도로 정의됩니다.
Map은 키와 값을 관리하는데 중점을 둔 메서드들이 많습니다.
💡여기서 궁금했던 점.
그렇다면 Map에서 iterable 인터페이스은 상속받지 않으니 iterator() 메서드는 사용하지 못할까요?
사용할 수 있습니다. 직접 상속받지 않지만, 반환값을 Set으로 반환하거나, 모든 값을 Collection을 반환하여 사용합니다.
컬렉션 프레임워크의 주요 인터페이스
각 컬렉션의 특징과 속해있는 인터페이스를 알아보겠습니다.
List Collection
데이터 중복 저장을 허용하면서 저장 순서가 유지되는 컬렉션.
- ArrayList
- LinkedList
- Vector
- Stack
Set Collecition
데이터 중복 저장을 허용하지 않고 저장 순서도 유지되지 않는 컬렉션.
- HashSet
- LinkedHashSet
- TreeSet
Queue Collection
데이터 저장 시 FIFO(선입선출)를 보장하는 저장 순서가 유지되는 컬렉션.
- Queue
- PriorityQueue
- Deque
- ArrayDeque
Map Collection
데이터가 Key-Value 쌍으로 들어가며 각 Key 값이 고유하고 저장 순서가 유지되지 않는 컬렉션
- HashMap
- HashTable
- Properties
- LinkedHashMap
- TreeMap
인터페이스 하나씩 특징, 메서드, 예문에 대해 하나씩 포스팅하여 링크 추가하겠습니다.
읽어주셔서 감사합니다. 잘못된 정보가 있다면 언제든 댓글 달아주세요! 🪄
⬇️ 참고 URL
https://velog.io/@chaerim1001/Java-Collection-%EC%A0%95%EB%A6%AC
https://www.geeksforgeeks.org/collections-in-java-2/
'프로그래밍언어 > Java' 카테고리의 다른 글
[Java]Collection(5) -Map (5) | 2024.11.07 |
---|---|
[Java]Collection(4) - Set (0) | 2024.11.06 |
[Java]Collection(3) - Queue, Deque (0) | 2024.11.05 |
[Java] Collection(2) - List (2) | 2024.11.04 |