프로그래밍 언어/Java
[Java] 자바 컬렉션 프레임워크란?
kchs0529
2025. 3. 24. 14:02
널리 알려져 있는 자료구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 관련된 인터페이스와 클래스들을 java.util 패키지에 포함시켜 놓았는데 이를 컬렉션 프레임워크라고 한다. (출처 : 이것이 자바다)
✅ 인터페이스 분류
인터페이스 분류 | 특징 | 구현 클래스 | |
Collection | List | - 순서를 유지하고 저장한다. - 중복 저장이 가능하다. |
ArrayList, Vector, LinkedList |
Set | - 순서를 유지하지 않고 저장한다. - 중복 저장이 안된다 |
HashSet, TreeSet | |
Map | - 키와 값으로 구성된 엔트리로 저장한다. - 키는 중복 저장이 안된다. |
HashMap, HashTable, TreeMap, Properties |
List와 Set은 객체를 추가, 삭제, 검색하는 방법에 있어 공통점이 있기 때문에 공통된 메소드만 따로 모아 Collection 인터페이스로 정의 해두고 이것을 상속하고 있다.
Map은 키와 값을 하나의 쌍으로 묶어서 관리하는 구조로 되어 있어 List 및 Set과는 사용 방법이 다르다.
✅ 컬렉션 프레임워크의 필요성
📚 기존 배열의 단점
- 크기가 고정되어 있어 유동적으로 변경 불가능
- 데이터 삽입/삭제 시 비효율적
- 요소를 다룰 때 편리한 메서드 부족
📚 컬렉션 프레임워크의 장점
- 동적 크기 조정 가능: 필요에 따라 크기 자동 조절
- 다양한 자료구조 제공: 리스트, 집합, 맵 등 원하는 구조 선택 가능
- 편리한 메서드 지원: 추가, 삭제, 검색 등의 기능 내장
- 코드 일관성 유지: 표준 인터페이스를 통해 일관된 방식으로 사용 가능