DevGang
[Java] JCF(Java Collections Framework) 본문
JCF란
- Java에서 Collections란 데이터의 집합, 그룹을 의미한다.
- JCF는 이러한 데이터, 자료구조인 Collection과 이를 구현하는 클래스, 정의하는 인터페이스들을 제공한다.
JCF 장점
- 코드 재사용이 쉽다.
- 프로그램 속도와 품질을 높일 수 있다.
- 관련성이 없는 API들의 상호운영성을 보장한다.
- 표준적인 인터페이스를 제공하면서 새로운 API를 배우는 노력을 줄여준다.
- 새로운 API를 직접 제작하는 노력의 낭비를 줄여준다.
- 프로그래밍을 쉽게 한다.
JCF 종류
List - ArrayList
- 배열을 구현한 클래스로 논리적 순서와 물리적 순서가 동일하며 가장 많이 사용
List - LinkedList
- 논리적으로 순차적인 구조지만, 물리적으로는 순차적이지 않을 수 있음
Queue
- Queue는 인터페이스이기 때문에 객체 생성 불가능
- Linkedlist, PriorityQueue를 사용하여 객체 생성
Vector
- ArrayList와 같은 구조
- 동기화(Syncronized)된 메서드로 구성되어있기 때문에 MultiThread가 동시에 메서드를 실행할 수 없음
Set - HashSet
- List처럼 index로 저장 순서를 유지 x
- Iterator 혹은 stream으로 순회
- Object 클래스를 이용하여 중복 제거
Set - TreeSet
- 객체의 정렬에 사용
- 중복을 허용하지 않으면서 오름차순이나 내림차순으로 정렬
- 내부적으로 이진 탐색 트리로 구현
Map - HashMap
- Key, Value의 쌍으로 연관 지어 저장
- HashSet과 저장 방식 같음
- LinkedList와 유사함
Map - TreeMap
- 객체의 정렬에 사용
- 내부 구조는 TreeSet과 같음
'Study > Java' 카테고리의 다른 글
[Java] JVM(Java Virtual Machine) (0) | 2021.04.18 |
---|---|
[Java] GC(Garbage Collection) (0) | 2021.04.18 |
[Java] 자바 버전별 특징 (0) | 2021.04.07 |
[Java] 제네릭(Generic) (0) | 2021.04.07 |
[Java] JVM, JRE, JDK (0) | 2021.04.07 |
Comments