- Set 이란?
: 중복되지 않은 값을 저장하는 자료구조
: 집합연산이나 중복을 허용하지 않는 데이터 저장에 사용
: HashSet, LinkedHashSet, TreeSet, EnumSet 등
- Set 특징
: 중복된 값 저장 X - 같은 값을 저장하더라도 한번만 저장됨.
: 검색 및 삽입 속도 빠름.
: Null 허용
: Java의 컬렉션 프레임워크에서 제공되는 클래스 중 하나
: 중복 값 허용 X
: 순서 보장 X
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // 중복된 값이므로 저장되지 않음
boolean containsAlice = uniqueNames.contains("Alice"); // true
boolean containsCharlie = uniqueNames.contains("Charlie"); // false
System.out.println("Contains Alice: " + containsAlice);
System.out.println("Contains Charlie: " + containsCharlie);
}
}
: 해시 테이블과 연결 리스트를 결합한 Set 인터페이스의 구현체
: 중복 값 허용 X
: 순서 보장
import java.util.LinkedHashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<String> orderedNames = new LinkedHashSet<>();
orderedNames.add("Alice");
orderedNames.add("Bob");
orderedNames.add("Charlie");
boolean containsAlice = orderedNames.contains("Alice"); // true
boolean containsDavid = orderedNames.contains("David"); // false
for (String name : orderedNames) {
System.out.println(name);
}
}
}