1차 출처 : http://withwani.tistory.com/150

2차 출처 : chatGPT
Java Collection Framework는 자바에서 데이터를 저장하고 관리하기 위한 표준 구조(라이브러리)라고 보면 된다. 쉽게 말하면 “여러 개의 객체를 어떻게 효율적으로 담고, 찾고, 정렬하고, 수정할지”를 미리 설계해 둔 도구 모음이다. Java에서 가장 중요한 핵심 API 중 하나다.
Collection Framework가 필요한 이유
자바에서 객체를 다룰 때 단순 배열만으로는 한계가 있다.
- 배열은 크기가 고정됨
- 삽입/삭제가 불편함
- 다양한 자료구조 부족 (리스트, 큐, 집합 등)
그래서 등장한 것이 Collection Framework이다.
주요 구조 (핵심 인터페이스)
컬렉션 프레임워크는 크게 3가지 축으로 구성된다.
List (순서 있음, 중복 허용)
- 데이터가 입력된 순서대로 저장됨
- 같은 값 여러 번 저장 가능
대표 구현체
- ArrayList (가장 많이 사용)
- LinkedList
- Vector (옛날 방식)
예시
List list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("A");Set (순서 없음, 중복 불가)
- 같은 값 저장 불가
- “유일한 값” 관리할 때 사용
대표 구현체
- HashSet (가장 일반적)
- LinkedHashSet (순서 유지)
- TreeSet (정렬 유지)
예시
Set set = new HashSet<>();
set.add("A");
set.add("A"); // 무시됨Map (Key-Value 구조)
- 키(Key)와 값(Value) 쌍으로 저장
- 키는 중복 불가, 값은 중복 가능
대표 구현체
- HashMap (가장 많이 사용)
- LinkedHashMap (순서 유지)
- TreeMap (키 기준 정렬)
예시
Map map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);전체 개념
- Collection
- List
- Set
- Queue
- Map
주요 특징
제네릭(Generic) 지원
타입 안전성을 보장함
List list = new ArrayList<>();다양한 알고리즘 제공
- 정렬: Collections.sort()
- 검색
- 섞기(shuffle)
인터페이스 기반 설계
구현체를 바꿔도 코드 변경이 적음
List list = new ArrayList<>();
list = new LinkedList<>(); // 변경 쉬움언제 어떤 걸 쓰나?
- ArrayList → 조회 많고 추가/삭제 적을 때
- LinkedList → 삽입/삭제 많을 때
- HashSet → 중복 제거
- HashMap → 캐시, 조회 테이블
핵심 요약
Java Collection Framework는 “데이터를 효율적으로 저장하고 처리하기 위한 표준 자료구조 모음”
- List: 순서 + 중복 허용
- Set: 중복 없음
- Map: Key-Value




