HashMap
- Map 인터페이스를 구현한 클래스이다. Map 이외에도 Serializable, Cloneable 인터페이스를 구현하였다.
- key - value로 이루어져있다. 둘 다 null값을 허용한다.
- key는 고유해야 한다(중복 X)
- value 값은 중복가능하다.
장점
- key를 이용하여 빠른 조회 가능
- key는 기본자료형과 참조자료형 모두 될 수 있다.
단점
- 데이터의 순서가 보장되지 않는다.
- value 값으로 key를 찾는다면 전체를 조회하여야한다.
HashMap의 시간복잡도
Average | Worst Case | |
space | O(n) | O(n) |
insert | O(1) | O(n) |
lookup | O(1) | O(n) |
delete | O(1) | O(n) |
Method
put() - 데이터 넣기
get() - key를 이용해 값을 가져온다
remove() - 데이터 삭제
keySet() - HashMap의 key 값들을 Set 으로 반환한다.
values() - HashMap의 value 값들을 Collection타입으로 반환한다.
containsKey() - 해당 키를 포함하는지 여부
containsValue() - 해당 값을 포함하는지 여부
참고 자료
자바의 신 - 이상민 저
https://www.interviewcake.com/concept/python/hash-map?
Hash Table/Hash Map Data Structure | Interview Cake
A hash table (also called a hash, hash map or dictionary) is a data structure that pairs keys to values. It's implemented with a dynamic array and a "hashing function."
www.interviewcake.com
'STUDY > 자료구조' 카테고리의 다른 글
[Java] 힙(Heap) 자료구조 (1) | 2023.10.23 |
---|---|
[자바] 연결리스트(Linked List) 특징과 종류 (0) | 2023.10.21 |
선형자료구조 - Array (4) | 2023.10.19 |
큐(Queue) 자료구조 정리 (0) | 2023.10.17 |
스택(Stack) 정리 (0) | 2023.10.17 |