List Set Map

Jace·2023년 1월 21일
0

List

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

List의 종류와 특징

LinkedList

양방향 포인터 구조로 데이터 삽입, 삭제가 빠르다.
ArrayList보다 검색이 느리다.

ArrayList

단반향 포인터 구조로 데이터 순차적 접근에 강점을 가진다.
배열을 기반으로 데이터를 저장한다.
데이터 삽입, 삭제가 느리다.
데이터 검색이 빠르다.

Set

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

Set의 종류와 특징

HashSet

인스턴스의 해시값을 기준으로 저장하기 때문에 순서를 보장하지 않는다.
NULL 값을 허용한다.
TreeSet보다 삽입, 삭제가 빠르다.

LinkedHashSet

입력된 순서를 보장한다.

TreeSet

이진 탐색 트리(Red-Black Tree)를 기반으로 한다.
데이터들이 오름차순으로 정렬된다.
데이터 삽입, 삭제에는 시간이 걸리지만 검색, 정렬이 빠르다.

Map

  • Key&Value 구조
  • Key(키)는 입력 순서를 유지하지 않으며, 중복을 허용하지 않음, Value는 중복을 허용함.
    -인덱스가 따로 존재하지 않기 때문에 Iterator를 사용하여 조회.

Map의 종류와 특징

HashMap

Key에 대한 중복이 없으며 순서를 보장하지 않는다.
Key와 Value 값으로 NULL을 허용한다.
동기화가 보장되지 않는다.
검색에 가장 뛰어난 성능을 가진다.

HashTable

동기화가 보장되어 병렬 프로그래밍이 가능하고 HashMap 보다 처리속도가 느리다.
Key와 Value 값으로 NULL을 허용하지 않는다.

LinkedHashMap

입력된 순서를 보장한다.

TreeMap

이진 탐색 트리(Red-Black Tree)를 기반으로 키와 값을 저장한다.
Key 값을 기준으로 오름차순 정렬되고 빠른 검색이 가능하다.
저장 시 정렬을 하기 때문에 시간이 다소 오래 걸린다.

참고자료

https://brunch.co.kr/@springboot/57
https://xzio.tistory.com/1828
https://cocoon1787.tistory.com/527

자신감 있는 표정을 지으면 자신감이 생긴다 -찰스다윈

profile
오늘한줄.

0개의 댓글