List, Set, Map, HashMap의 차이

김형준 Kim Hyeong Jun·2023년 2월 27일
0

List

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

주요 구현체

  • ArrayList
  • LinkedList

Set

  • 입력 순서를 유지하지 않으며, 데이터의 중복 허용하지 않음
  • 데이터에 null 입력 가능하나, 한 번만 저장하고 중복 저장을 허용하지 않음
  • 인덱스가 따로 존재하지 않기 때문에 iterator를 사용하여 조회

주요 구현체

  • HashSet
  • LinkedHashSet
  • TreeSet

Map

  • Key & Value의 구조
  • Key는 입력 순서를 유지하지 않으며, 중복을 허용하지 않음
  • Value는 중복을 허용함

주요 구현체

  • HashMap
  • LinkedHashMap
  • TreeMap

HashMap

  • Key에 대한 입력 순서를 보장하지 않으며, 중복을 허용하지 않음
  • HashTable과 사용방법이 유사하다.(차이점은 HashMap은 Thread-safe하지 않은 대신 속도가 빠르다.)

❓ 해싱(Hashing)이란?
Key를 해시 함수(Hash Function)에 대입해 나온 결과를 주소로 사용하여 바로 Value에 접근할 수 있도록 하는 방법이다.


Reference

[간단정리] List, Set, Map 특징 및 차이점(+ 구현체 )
[COLLECTION] 이것만 알면 해시맵(HASHMAP) 정복 가능 - HASHMAP의 특징, 사용법 예제
해싱(Hashing)

profile
I want be a developer🙂

0개의 댓글