Set은 List와는 다르게 객체(데이터)를 중복해서 저장할 수 없다
또한 저장된 객체(데이터)를 인덱스로 관리하지 않기 때문에 저장 순서가 보장되지 않는다
수학의 집합과 비슷한 내용이다. Set 컬렉션을 구현하는 대표적인 클래스들은 HashSet, TreeSet, LinkedHashSet 등이 있다. Set 컬렉션을 구현하는 클래스들이 공통적으로 사용하는 주요 메소드는 add, iterator, size, remove, clear 등이 있고 내용은 아래의 표와 같다.
![]()
Set은 인덱스로 객체를 관리하지 않기 때문에 데이터를 검색하기 위해서는 iterator() 메서드로 Iterator(반복자)를 생성하고 데이터를 가져와야 한다.
HashSet: 데이터 중복 불가, 순서유지 불가
LinkedHashSet: 데이터 중복 불가, 순서유지
TreeSet: 데이터 중복 불가, 정렬(자료형이 같아야함)
**HashSet**
HashSet은 Set 컬렉션을 구현하는 대표적인 클래스이다. 데이터를 중복 저장할 수 없고 순서를 보장하지 않는다. HashSet을 생성하는 방법은 아래와 같다.
Set<E> 객체명 = new HashSet<E>();