JAVA/포스팅

자바 컬렉션 프레임워크 HashSet

짜집퍼박사(짜박) 2023. 11. 18. 11:02

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