질문 1. HashSet의 내부 동작 원리를 설명하세요.
- hashCode()를 기반으로 버킷을 탐색하고, equals()를 기반으로 동일한 요소가 존재하는지 확인
질문2. HashSet 에서 객체를 저장할 때 반드시 hashCode() 와 equals() 를 재정의해야 하는 이유는 무엇인가요?
- hashCode()와 equals()를 올바로 정의하지 않으면 버킷을 찾는 과정과 중복을 판별하는 과정을 제대로 처리되지 않음
질문3. HashSet에서 요소를 순회하는 방법에 대해서 설명하세요.
- 방법 1. for-each문 사용
- 방법 2. lterator사용
- 방법 3. Stream API 사용