
Set 인터페이스 구현 클래스
1. 객체를 중복해서 저장할 수 없으며, 하나의 null 값만 저장할 수 있다.
2. 중복을 자동으로 제거해준다.
Set은 일반적으로 비선형 구조이기 때문에 '순서'의 개념이나 '인덱스'가 존재하지 않아 값을 추가/삭제할 경우 Set 내부에 해당 값을 검색해 해당 기능을 수행해야만 한다.
이로 인해 처리 속도가 List구조에 느리다는 것이 단점이다.
그렇다면 HashSet은 무엇일까?
💡 HashSet
- Set 인터페이스에서 지원하는 구현 클래스이다.
- 'Set의 성질을 그대로 상속' 받는다.
HashSet 내부 코드를 보면 HashMap을 사용하여 구현되어 있는 것을 볼 수 있다.

add()메소드를 호출해 값 추가 가능
만약 입력되는 값이
HashSet 내부에 존재하지 않는다면 그 값을 HashSet에 추가하고 true 를 반환한다.
HashSet 내부에 존재한다면 false를 반환한다.