728x90
Collection : 데이터의 집합, 그룹

 

같은 타입의 참조값을 여러개 저장하기 위한 데이터의 집합, 그룹을 의미한다.

 

자바 컬렉션 프레임워크(JCF)는 이러한 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다.

 

<자바 컬렉션 프레임워크의 상속 구조>


Collection 인터페이스의 종류와 특징

 

  키 중복 허용 값 중복 허용 순서 유지
List O O O
Set X X O
Map X O X

1. List

순서가 있는 데이터의 집합

 

데이터의 중복을 허용한다.

 

  • LinkedList
    양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 데이터의 위치정보만 수정하면 되기에 유용
    스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰임

  • Vector
    과거에 대용량 처리를 위해 사용했으며, 내부에서 자동으로 동기화처리가 일어나 비교적 성능이 좋지 않고 무거워 잘 쓰이지 않음

  • ArrayList
    단방향 포인터 구조로 각 데이터에 대한 인덱스를 가지고 있어서 조회 기능에 성능이 뛰어남

2. Set

순서를 유지하지 않는 데이터의 집합

 

데이터의 중복을 허용하지 않는다.

 

  • HashSet
    가장빠른 임의 접근 속도
    순서를 예측할 수 없음

  • TreeSet
    정렬방법을 지정할 수 있음

3. Map

키(key), 값(value)의 쌍으로 이루어진 데이터의 집합

 

순서는 유지되지 않으며, 키의 중복은 허용하지 않으나 값의 중복은 허용한다.

 

  • HashMap
    중복과 순서가 허용되지 않음
    null값 가능


  • HashTable
    HashMap보다는 느리지만 동기화 지원
    null값 불가능

  • TreeMap
    정렬된 순서대로 키와 값을 저장하여 검색이 빠름

'JAVA' 카테고리의 다른 글

LinkedList  (0) 2021.07.22
ArrayList  (0) 2021.07.22
제네릭 (Generic)  (0) 2021.07.20
랩퍼 (Wrapper)  (0) 2021.07.19
메모리 (Memory)  (0) 2021.07.19

+ Recent posts