HashSet 중복제거 원리

jj J·2022년 12월 3일
1

JAVA

목록 보기
8/15

HashSet에서 어떻게 중복제거를 하는지, 세부 동작과 원리에 대해서 알아보고자 한다.

직접 HashSet 내부 코드를 살펴보기 전엔 몰랐던 사실인데, HashSet 내부에서 HashMap을 사용하고 있다.

HashMap의 특성 중 Key는 중복없는 특성을 이용해서, key로 add하려는 Element를 넘겨주고, value는 Dummy 값을 넘겨주고 있다.

put은 위와 같이 구현되어 있는데, 핵심은 hash 메서드이다.

key의 hashCode를 얻어와 해시충돌을 방지하기 위한 XOR 연산을 해주고 그 값을 리턴한다.

결론 : HashMap을 사용해서 add하고자 하는 Element를 key값으로 넣어 중복을 확인한다.

profile
매일 발전

0개의 댓글