STUDY/자료구조

[Java] HashMap 정리

까미이모 2023. 10. 20. 00:09

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