반응형
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 이란 ?
HashSet 이란 ?
'◼ JAVA' 카테고리의 다른 글
[우아한테크코스 백엔드 5기] 프리코스 1주차 회고 (온보딩) (2) | 2022.11.03 |
---|---|
[Java/자바] 제네릭스(Generics)란 ? (0) | 2022.11.01 |
[Java/자바] HashMap 클래스 사용법 (0) | 2022.11.01 |
[Java/자바] 배열(Array)을 리스트(List)로 변환 (0) | 2022.11.01 |
[Java/자바] TreeSet 사용법 (0) | 2022.10.31 |