✔️ 컬렉션(Collection)이란?
Java Collection Framework는 Java에서 데이터를 저장하고 조작하는 데 필요한 다양한 클래스와 인터페이스의 집합이다. 이 프레임워크는 데이터 구조를 효율적으로 관리하고, 데이터의 저장, 검색, 수정 및 삭제를 쉽게 할 수 있도록 도와준다.
1. Collection 인터페이스
모든 컬렉션의 최상위 인터페이스로, 기본적인 컬렉션 기능을 정의한다.
- List 인터페이스 (순서가 있는 요소의 집합, 중복 허용, 인덱스 기반 접근)
- ArrayList
- 단방향 포인터 구조
- 요소의 추가/접근이 빠름
- 크기 자동 조정
- 랜덤 액세스에 최적화
- 중간 요소 추가/삭제 시 중간에 있으면 성능 저하 발생 가능성
- LinkedList
- 이중 연결 리스트를 기반
- 요소의 삽입/삭제가 빠름
- 큐와 스택 인터페이스 구현 가능
- 랜덤 액세스 성능은 ArrayList보다 떨어지지만, 중간 요소 추가/삭제는 더 효율적임
- Vector
- 동기화된 동적 배열
- 멀티스레드에 사용하기 좋음.
- ArrayList와 유사하지만 성능은 떨어짐.
- Stack
- LIFO 구조
- 배열로 요소를 저장하지만, 필요에 따라 크기를 동적으로 조정
- ArrayList
- Set 인터페이스 (중복 불허, 순서 없음, 빠른 검)
- HashSet
- 해시 테이블 기반
- 요소의 추가, 삭제, 검색이 빠름
- 순서 x, null값 허용
- TreeSet
- 이진 검색 트리 기반으로, 요소를 정렬된 상태로 유지
- 요소는 지정한 정렬 방법에 따라 정렬됨
- HashSet
- Map 인터페이스 (키-값 구조, null 허용/비허용)
- HashMap
- 해시 테이블을 기반으로 하며, 빠른 검색과 삽입을 지원함.
- 순서를 보장하지 않음
- 키와 값 모두 null 허
- LinkedHashMap
- 해시 테이블과 연결 리스트를 결합하여 삽입 순서를 유지함
- TreeMap
- 키의 자연 순서 또는 지정된 비교자에 따라 정렬된 맵을 제공
- 키는 null을 허용하지 않음
- HashMap
'코딩 공부 기록 > Java' 카테고리의 다른 글
OSGi Framework 란? (기본 개념 이해) (1) | 2024.11.19 |
---|---|
JAVA 소스 코드 구조 (0) | 2024.10.18 |