SeouliteLab

[Java/자바] 여러 Set(HashSet) 합치는 방법 본문

프로그래밍

[Java/자바] 여러 Set(HashSet) 합치는 방법

Seoulite Lab 2024. 3. 7. 09:01

Java에서는 여러 개의 Set을 하나로 합치는 작업이 필요할 때가 있습니다. 이를 위해 여러 방법이 제공되며, 아래에서는 다양한 방법을 통해 여러 Set을 합치는 예제를 살펴보겠습니다.

예제 1: addAll 메서드를 사용한 합치기

import java.util.HashSet;
import java.util.Set;

public class SetMergeExample {
    public static void main(String[] args) {
        Set<String> set1 = new HashSet<>();
        set1.add("apple");
        set1.add("banana");
        
        Set<String> set2 = new HashSet<>();
        set2.add("banana");
        set2.add("orange");
        
        set1.addAll(set2);
        
        System.out.println("합쳐진 Set: " + set1);
    }
}

위 예제는 addAll 메서드를 사용하여 두 개의 Set을 합치는 방법입니다. 첫 번째 Set에 두 번째 Set을 추가함으로써 합쳐진 Set을 얻을 수 있습니다.

예제 2: Stream API를 이용한 합치기 (Java 8+)

import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class SetMergeExample {
    public static void main(String[] args) {
        Set<String> set1 = new HashSet<>();
        set1.add("apple");
        set1.add("banana");
        
        Set<String> set2 = new HashSet<>();
        set2.add("banana");
        set2.add("orange");
        
        Set<String> mergedSet = Stream.concat(set1.stream(), set2.stream())
                                      .collect(Collectors.toSet());
        
        System.out.println("합쳐진 Set: " + mergedSet);
    }
}

Java 8부터는 Stream API를 사용하여 여러 Set을 합칠 수 있습니다. concat 메서드를 사용하여 두 개의 Set을 합친 후, collect 메서드를 사용하여 Set으로 변환합니다.

예제 3: Guava 라이브러리를 이용한 합치기

import com.google.common.collect.Sets;

import java.util.HashSet;
import java.util.Set;

public class SetMergeExample {
    public static void main(String[] args) {
        Set<String> set1 = new HashSet<>();
        set1.add("apple");
        set1.add("banana");
        
        Set<String> set2 = new HashSet<>();
        set2.add("banana");
        set2.add("orange");
        
        Set<String> mergedSet = Sets.union(set1, set2);
        
        System.out.println("합쳐진 Set: " + mergedSet);
    }
}

Google Guava 라이브러리의 Sets 클래스를 사용하여 여러 Set을 합치는 방법입니다. union 메서드를 사용하여 두 개의 Set을 합칠 수 있습니다.

예제 4: Apache Commons Collections 라이브러리를 이용한 합치기

import org.apache.commons.collections4.SetUtils;

import java.util.HashSet;
import java.util.Set;

public class SetMergeExample {
    public static void main(String[] args) {
        Set<String> set1 = new HashSet<>();
        set1.add("apple");
        set1.add("banana");
        
        Set<String> set2 = new HashSet<>();
        set2.add("banana");
        set2.add("orange");
        
        Set<String> mergedSet = SetUtils.union(set1, set2);
        
        System.out.println("합쳐진 Set: " + mergedSet);
    }
}

Apache Commons Collections 라이브러리의 SetUtils 클래스를 사용하여 여러 Set을 합치는 방법입니다. union 메서드를 사용하여 두 개의 Set을 합칠 수 있습니다.

예제 5: 직접 구현한 합치기 메서드

import java.util.HashSet;
import java.util.Set;

public class SetMergeExample {
    public static void main(String[] args) {
        Set<String> set1 = new HashSet<>();
        set1.add("apple");
        set1.add("banana");
        
        Set<String> set2 = new HashSet<>();
        set2.add("banana");
        set2.add("orange");
        
        Set<String> mergedSet = mergeSets(set1, set2);
        
        System.out.println("합쳐진 Set: " + mergedSet);
    }
    
    private static <T> Set<T> mergeSets(Set<T> set1, Set<T> set2) {
        Set<T> mergedSet = new HashSet<>(set1);
        mergedSet.addAll(set2);
        return mergedSet;
    }
}

직접 합치기 메서드를 구현하여 여러 Set을 합치는 방법입니다. 위 예제에서는 addAll 메서드를 사용하여 두 개의 Set을 합치는 mergeSets 메서드를 구현하였습니다.

해시태그: