컬렉션은 데이터를 저장하고 관리하기 위한 데이터 구조 클래스와 인터페이스의 집합.
1. 기본 개념
- 데이터 그룹(객체들)을 저장하고 조작하는데 사용되는 프레임워크
- 배열처럼 데이터를 저장하지만 크기가 동적으로 조정되고 다양한 데이터 구조를 제공한다
2. 구조
2.1. 순서가 있는 List
- 요소들이 순서대로 저장, 중복을 허용
- 인덱스를 사용하여 요소를 관리
대표 클래스
- ArrayList : 배열 기반으로 구현, 읽기 성능이 우수
- LinkedList : 연결 리스트 기반으로 구현, 삽입/삭제 성능이 우수
- Vector : ArrayList와 비슷하지만 동기화가 지원됨
2.2. 중복이 없는 Set
- 중복 허용 x
- 순서가 중요하지 않은 데이터 저장에 사용됨
대표 클래스
- HashSet : 요소들을 해시기반으로 저장, 순서가 없음
- LinkedHashSet : 해시기반으로 저장하지만, 삽입 순서 유지
- TreeSet : 정렬된 순서로 저장 (이진 트리 기반)
2.3. Map (키-값 쌍을 저장)
- 데이터를 키와 값으로 저장
- 키는 중복x, 값은 중복o
대표 클래스
- HashMap : 해시기반의 비 순차적 저장
- LinkedHashMap : 삽입순서를 유지
- TreeMap : 키를 정렬된 순서로 저장
요구사항 | 적합한 클래스 |
요소의 순서를 유지해야 함 | `ArrayList`, `LinkedList` |
중복을 허용하지 않음 | `HashSet`, `TreeSet` |
키-값을 쌍으로 저장해야함 | `HashMap`, `TreeMap` |
삽입 순서를 유지해야 함 | `LinkedHashSet`, `LinkedHashMap` |
각각의 자세한 내용은 따로 정리
출처 : ChatGPT
'BE > Java' 카테고리의 다른 글
[Java] Optional (0) | 2024.12.06 |
---|---|
[Java] List (1) | 2024.12.05 |
[Java] 래퍼 클래스 (0) | 2024.12.03 |
[Java] break, continue, return (0) | 2024.12.02 |
[Java] 연산자 (0) | 2024.12.01 |