stream流取并集
时间: 2023-12-14 07:34:15 浏览: 133
Java 8引入了Stream API,可以使用Stream的distinct()方法来获取两个集合的并集。具体实现可以按照以下步骤进行:
1. 将两个集合合并到一个新的集合中。
2. 使用Stream的distinct()方法去除重复元素。
以下是示例代码:
```java
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(3, 4, 5);
List<Integer> unionList = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
System.out.println(unionList); // 输出 [1, 2, 3, 4, 5]
```
相关问题
java8 多个list取并集
可以使用Java8中的流(Stream)和flatMap操作,将多个List合并成一个,再使用distinct操作去重。
示例代码:
```java
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(2, 3, 4);
List<Integer> list3 = Arrays.asList(3, 4, 5);
List<Integer> result = Stream.of(list1, list2, list3)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
System.out.println(result); // 输出 [1, 2, 3, 4, 5]
```
这段代码中,首先使用Stream.of将多个List合并成一个流(Stream),再使用flatMap将每个List转换成它包含的元素的流,最后使用distinct操作去重,并使用Collectors.toList()将结果转换成List。
阅读全文