可以使用 Java 8 的 Stream API 来实现优雅的写法。首先将两个 Set 转换为 Stream,然后使用 Stream 的 filter 方法过滤出第一个 Set 中不包含在第二个 Set 中的元素,最后使用 collect 方法将结果收集为 Set。

以下是示例代码:

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

public class Main {
    public static void main(String[] args) {
        Set<String> set1 = new HashSet<>();
        set1.add('A');
        set1.add('B');
        set1.add('C');

        Set<String> set2 = new HashSet<>();
        set2.add('B');
        set2.add('C');
        set2.add('D');

        Set<String> difference = set1.stream()
                .filter(element -> !set2.contains(element))
                .collect(Collectors.toSet());

        System.out.println(difference);  // 输出 [A]
    }
}

在上述代码中,我们使用了 Stream 的 filter 方法来过滤出第一个 Set 中不包含在第二个 Set 中的元素,然后使用 collect 方法将过滤后的结果收集为 Set。最后输出差集结果 [A]。

Java 8 求两个 Set<String> 的差集 - 优雅的 Stream API 写法

原文地址: https://www.cveoy.top/t/topic/qhDK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录