Programming/자료 구조

리스트(List) / 셋(Set) / 맵(Map)

시나민 2023. 4. 24. 04:27

Java Collection Framework

 

Java Collection Framework는 다수의 데이터를 효과적으로 처리할 수 있는

표준화된 방법을 제공하는 클래스의 집합이다.

 

Collection의 주요 인터페이스

  • List
  • Set
  • Map

 


List

 

List의 특징

  • 입력 순서를 유지
  • 데이터의 중복 허용
  • 인덱스를 통해 데이터에 접근이 가능

List의 주요 구현체

  • ArrayList - 단방향 포인터 구조로 데이터 순차적 접근이 빠름
  • LinkedList - 양방향 포인터 구조로 데이터 삽입, 삭제가 빠름

 


Set

 

Set의 특징

  • 입력 순서를 유지하지 않음
  • 데이터의 중복을 허용하지 않음
  • Null 입력 가능
  • 인덱스가 없고 Iterator를 사용하여 데이터 조회

Set의 주요 구현체

  • HashSet - 입력 순서를 보장하지 않으며, 데이터의 중복을 허용하지 않음
  • LinkedHashSet - 입력 순서를 보장하며, 데이터의 중복을 허용하지 않음
  • TreeSet - 입력한 데이터의 크기가 비교 가능한 경우 오름차순으로 정렬되며, 데이터의 중복을 허용하지 않음

 


Map

 

Map의 특징

  • Key-Value 구조
  • Key는 입력 순서를 유지하지 않으며 데이터의 중복을 허용하지 않음
  • Value는 중복 허용
  • 인덱스가 없고 Iterator를 사용하여 데이터 조회

Map의 주요 구현체

  • HashMap - Key에 대한 입력 순서를 보장하지 않으며, 중복 Key를 허용하지 않음
  • LinkedHashMap - Key에 대한 입력 순서를 보장하며, 중복 Key를 허용하지 않음
  • TreeMap - Red-Black Tree 기반으로 Key와 Value를 저장
                   - 입력한 Key 데이터의 크기가 비교 가능한 경우 오름차순으로 정렬되며, 중복 Key를 허용하지 않음