List, Set, Map, HashMap의 차이

Kim Dong Kyun·2023년 3월 30일
0
post-custom-banner

개요

이전 시간에 이미 Map과 HashMap, 그리고 HashTable 게시글을 통해서 Map 인터페이스를 상속받는 HashMap, 그리고 HashTable을 비교 설명하면서 Hash 개념까지 알아봤습니다. 오늘 다시 요청을 받아서, List/Set/Map/HashMap을 간단히 비교설명 합니다.

1. List

  • List는 순서가 있는 데이터의 모음입니다.

중복을 허용하며, 인덱스를 사용하여 요소에 접근할 수 있습니다.

삽입/삭제 O(n), 조회 O(1)

ArrayList, LinkedList, Vector 등이 있습니다.

2. Set

Set은 중복을 허용하지 않는 순서가 없는 데이터의 모음입니다.
Set 인터페이스는 Collection 인터페이스를 상속합니다.

삽입, 삭제, 조회 : TreeSet 등 정렬된 Set은 O(log n), HashSet은 O(1)(해쉬 테이블을 사용하기 때문입니다)

HashSet, TreeSet 등이 있습니다.

3. Map

Map은 Key-Value 쌍의 객체를 저장하는 데이터 구조입니다.
순서는 유지되지 않으며, 중복된 Key를 가질 수 없습니다.

삽입/삭제/조회: O(log n) - TreeMap 등 정렬된 Map은 O(log n), HashMap은 O(1)로 해시테이블을 사용하므로 평균적으로 O(1)입니다.

HashMap, TreeMap, LinkedHashMap 등이 있습니다.

4. HashMap

HashMap은 Key-Value 쌍의 객체를 저장하는 데이터 구조입니다.
순서는 유지되지 않으며, 중복된 Key를 가질 수 없습니다.
Hashtable과는 달리, 동기화를 지원하지 않습니다.
null을 key나 value로 저장할 수 있습니다.

삽입/삭제/조회: O(1)

성능이 좋아 대용량 데이터 처리에 적합합니다.

post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 3월 30일

.

답글 달기