HashSet은 Java 컬렉션 프레임워크에서 제공하는 클래스 중 하나로, 중복을 허용하지 않고 순서를 보장하지 않는 집합(Set)을 구현한 클래스입니다. 이 클래스는 해시 테이블을 기반으로 합니다.
1. HashSet의 특징
- 중복 허용 안 함: HashSet은 중복된 요소를 허용하지 않습니다. 이미 존재하는 요소를 추가하려고 하면 아무런 작업도 수행하지 않습니다.
- 순서 보장 안 함: HashSet은 요소의 순서를 보장하지 않습니다. 즉, 데이터를 저장하는 순서와 데이터를 꺼내는 순서가 일치하지 않습니다.
- Null 요소 허용: HashSet은 null 값을 허용합니다. 하나의 null 값만 저장할 수 있습니다.
2. HashSet의 주요 메서드
- add(E e): 요소를 세트에 추가합니다.
- remove(Object o): 지정된 요소를 세트에서 제거합니다.
- contains(Object o): 지정된 요소가 세트에 있는지 여부를 확인합니다.
- size(): 세트의 요소 수를 반환합니다.
- clear(): 세트에서 모든 요소를 제거합니다.
HashSet 사용 예제
import java.util.HashSet;
import java.util.Set;
public class HashSetExample {
public static void main(String[] args) {
// HashSet 생성
Set<String> hashSet = new HashSet<>();
// 요소 추가
hashSet.add("Apple");
hashSet.add("Banana");
hashSet.add("Orange");
hashSet.add("Apple"); // 중복 요소는 무시됨
System.out.println("HashSet: " + hashSet);
// 요소 제거
hashSet.remove("Banana");
System.out.println("After removing Banana: " + hashSet);
// 요소 확인
System.out.println("Contains Apple? " + hashSet.contains("Apple"));
// 크기 확인
System.out.println("Size: " + hashSet.size());
// 모든 요소 제거
hashSet.clear();
System.out.println("After clearing: " + hashSet);
}
}
위의 예제에서는 HashSet을 생성하고 여러 메서드를 사용하여 요소를 추가, 제거, 확인 및 크기를 확인하는 등의 작업을 수행하였습니다. 주의할 점은 순서가 유지되지 않기 때문에 출력 순서가 예측할 수 없다는 점입니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 컬렉션 프레임워크 HashMap (0) | 2023.11.18 |
---|---|
자바 컬렉션 프레임워크 TreeSet (0) | 2023.11.18 |
자바 컬렉션 프레임워크 Comparable (0) | 2023.11.18 |
자바 컬렉션 프레임워크 Comparator (0) | 2023.11.18 |
자바 컬렉션 프레임워크 Arrays (0) | 2023.11.18 |