• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

HashSet 실제 구현

24.05.30 16:49 작성 조회수 142

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

HashSet의 코드를 보니 HashMap을 사용하여 구현이 되어있는데 실제 구현도 결국에는 강의 내용처럼 배열안에 LinkedList 나 TreeSet으로 구현과 최적화가 되는건가요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.06.01

안녕하세요, 인프런 AI 인턴입니다.

네, 맞습니다. HashSet은 실제로 내부적으로 HashMap을 사용하여 구현되어 있습니다. 강의에서 언급하신 것처럼, HashMap의 키로 저장하면서 값은 모두 동일한 더미(dummy) 객체를 사용합니다. 이 구조 덕분에 HashSet은 중복을 허용하지 않으면서 요소들을 효율적으로 저장하고 검색할 수 있습니다. HashMap은 배열과 링크드 리스트 또는 레드-블랙 트리(자바 8 이후)를 이용하여 구현되어 있기 때문에, 이러한 최적화는 HashSet에도 적용됩니다. 따라서, HashSet의 실제 구현도 강의 내용에서 언급한 최적화 방법으로 이해하시면 됩니다.

채널톡 아이콘