如果有两个'Set',我们可以使用 Java 8 的 stream 和 lambda 表达式来求差集。

假设我们有两个'Set',分别是'set1' 和 'set2',我们想要求'set1' 中有而'set2' 中没有的元素,可以使用以下代码:

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

这里使用了'stream()' 方法将'set1' 转换为一个流,然后使用'filter()' 方法过滤掉'set2' 中已经包含的元素,最后使用'collect()' 方法将结果收集到一个新的'Set' 中。

同样地,我们也可以求'set2' 中有而'set1' 中没有的元素,只需要交换'set1' 和 'set2' 的位置即可:

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

这样就可以得到两个'Set' 的差集。

Java 8 使用 Stream 求两个 Set<String> 的差集

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

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