Java Collection Framwork
Java에서 데이터를 저장하는 자료구조를
한 곳에 모아 간편하게 사용 가능하도록 제공.
인터페이스 | 특징 | 클래스 |
List | 순서가 있는 데이터의 집합. 중복 허용. | ArrayList, LinkedList Stack, Vector |
Set | 순서가 없는 데이터의 집합. 중복 비허용. | HashSet TreeSet |
Map | Key : Value 형태. 순서 없음. Key 중복 비허용. Value 중복 허용. | Hashtable, HashMap SortedMap |
1. List
클래스 | 특징 |
Array | 고정길이. 단방향. |
ArrayList | 가변길이. 단방향. 조회 성능 우수. |
LinkedList | 가변길이. 양방향. 삽입 및 삭제 성능 우수. |
Stack | 가변길이. LIFO(Last In First Out) 구조. |
Vector | 무거운 탓에 성능이 좋지 않아 사용 안함. |
2. Set
클래스 | 특징 |
HashSet | Set의 기본 구조. 순서 없음. 중복 비허용. 시간복잡도 O(1). |
TreeSet | HashSet이 자동으로 정렬. 오름차순 Default. 시간복잡도 O(log n) |
3. Map
클래스 | 특징 |
HashTable | Value에 Null 비허용. |
HashMap | Value에 Null 허용. 순서 없음. |
TreeMap | HashMap이 정렬되어 순서를 가짐. 검색에 최적화. |
※ 기타
- Collection의 3가지는 List / Set / Queue 이다.
- Mpa은 Collection에 속하진 않지만 하나로 간주된다.
- Queue는 List와 흡사하여 주로 List와 함께 불린다.
'Programming > JAVA' 카테고리의 다른 글
Java application.properties 값 가져오기 (@Value) (0) | 2023.02.28 |
---|---|
[VSCode] invalid source release (0) | 2022.09.16 |
[MyBatis] Spring Boot Gradle 에 MySQL 연동하기 (2) | 2022.03.03 |
[JAVA] VSCode에 Spring Boot 설치 (0) | 2022.02.26 |
[JAVA] VSCode JAVA 개발환경 설정 (0) | 2022.02.26 |
댓글