stream流求并集
时间: 2023-09-04 07:14:46 浏览: 58
对于流(stream)的并集操作,你可以使用Java 8引入的Stream API来实现。Stream API提供了许多流操作方法,包括合并(merge)两个流的操作。
要求两个流的并集,你可以使用`Stream.concat()`方法来合并两个流,并且去除重复的元素。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamUnionExample {
public static void main(String[] args) {
List<String> list1 = Arrays.asList("A", "B", "C");
List<String> list2 = Arrays.asList("C", "D", "E");
Stream<String> stream1 = list1.stream();
Stream<String> stream2 = list2.stream();
List<String> union = Stream.concat(stream1,
相关问题
stream流取并集
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]
```
怎么用stream流筛选两个集合的并集
可以使用Java 8中的Stream API来筛选两个集合的并集。首先将两个集合合并成一个集合,然后使用distinct()方法去重,最后将结果收集到一个新的集合中。以下是示例代码:
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(3, 4, 5);
List<Integer> union = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
System.out.println(union); // [1, 2, 3, 4, 5]
注意,这里使用了Java 8中的Lambda表达式和方法引用,如果你不熟悉这些语法,可以先学习一下。