Java 两个列表获取交集:使用 Stream API 轻松实现
使用 Java 8 的 Stream API 可以轻松获取两个列表的交集。例如,假设我们有两个列表 'list1' 和 'list2',可以使用以下代码获取它们的交集:
List<String> list1 = Arrays.asList('apple', 'banana', 'orange');
List<String> list2 = Arrays.asList('banana', 'orange', 'grape');
List<String> intersection = list1.stream()
.filter(list2::contains)
.collect(Collectors.toList());
System.out.println(intersection); // 输出 'banana, orange'
这段代码首先将两个列表转换为 Stream,然后使用 filter 操作符过滤出在 'list2' 中也存在的元素,最后使用 collect 操作符将结果收集到一个新的列表中。
如果你不想创建一个新的列表来存储交集,可以使用 forEach 操作符来遍历交集中的元素:
list1.stream()
.filter(list2::contains)
.forEach(System.out::println); // 输出 'banana' 和 'orange'
通过以上代码示例,你可以轻松地使用 Java 8 的 Stream API 获取两个列表的交集,并根据需要选择不同的操作方式。
原文地址: https://www.cveoy.top/t/topic/n2s0 著作权归作者所有。请勿转载和采集!