DevGang

[Java] JCF(Java Collections Framework) 본문

Study/Java

[Java] JCF(Java Collections Framework)

별천랑 2021. 4. 17. 15:53

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