데이터 자료구조 중 하나로 특정한 값들을 저장하는데, 순서가 존재하지 않으며 데이터의 값은 중복이 될 수 없다.
Set의 가장 큰 특징으로는
데이터가 순서대로 저장되지 않는다.
중복된 데이터의 값은 저장되지 않는다.
set은 해시 테이블 or 트리 구조를 사용하여 데이터를 저장하므로 빠르게 조회된다.
HashSet : 데이터를 중복할 수 없고 순서를 보장하지 않음
TreeSet : HashSet의 특성 + 오름차순으로 데이터를 정렬한다.
LinkedHashSet : 데이터를 중복해서 저장할 수 없지만 순서가 보장된다. (들어오는 순서대로 데이터 저장)
Set은 인덱스로 관리하지 않기 때문에 for문으로 접근할 수 없다.
따라서 Iterator(반복자)를 이용해서 접근해야한다.
public class Main {
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
Iterator<Integer> it = set.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
결과값
1
2
3
4
추가적인 내용을 알고 싶으면 링크를 통해 찾아보자.