[Java/자바] HashSet과 HashMap의 차이점

반응형

HashSet과 HashMap의 차이점

HashSet과 HashMap을 공부하다보면 이런 의문이 들 것입니다.

비슷한거 같은데 대체 뭐가 다르지 ?

이번에 이 두 컬렉션 클래스들을 정리하면서 의문이 들었기에 이번 포스팅에서는 차이점을 비교해 보려 합니다.

 

 

HashSet과 HashMap 비교 표
  HashSet HashMap
구현 Set의 구현체 Map의 구현체
중복허용 여부 객체 자체를 데이터로 저장하기 때문에 중복 X key는 중복을 허용 X
value는 중복을 허용한다.
데이터 저장 객체(Object)만 저장할 수 있다.
내부적으로 HashMap을 사용하기 때문에 
삽입되는 객체(Key값)와 dummy 객체(Value 값),

삽입 연산 동안 총 두 개의 객체가  생성

데이터를 key-value 쌍 형식으로 저장.
삽입 연산 동안 단 하나의 객체가 생성
Dummy values O X
속도 비교 HashMap보다 느리다. HashSet보다 빠르다.
추가 메서드 add() put()
Null 단 하나의 NULL값을 가질 수 있다. 단 하나의 NULL 값을 Key 값으로 가질 수 있고, 
여러 NULL 값을 Value 값으로 가질 수 있다.

 


HashMap과 HashSet에 대한 자세한 설명이 필요하다면 아래 포스팅을 참고하시면됩니다.

 

HashMap 이란 ?

 

[Java/자바] HashMap 클래스 사용법

HashMap은 Map 인터페이스를 구현하여 Map의 특징 키(key)와 값(value)를 묶어서 하나의 데이터(entry)로 저장한다는 특징을 가집니다. 그리고, 해싱(hashing)을 사용하기 때문에 많은 양의 데이터를 검색하

hstory0208.tistory.com

 

HashSet 이란 ?

 

[Java/자바] HashSet 클래스 사용법

HashSet HashSet은 Set인터페이스를 구현한 가장 대표적인 컬렉션으로, 중복된 요소를 저장하지 않습니다. 그렇기 때문에 HashSet에 이미 저장되어 있는 요소를 추가하고자 한다면 객체를 저장하기 전

hstory0208.tistory.com