使用stream流对比2个集合,根据条件筛选符合条件的流在集合中
时间: 2023-08-26 11:56:21 浏览: 111
java8中Stream的使用示例教程
可以使用Stream流对比两个集合,并根据条件筛选符合条件的元素。下面是一个示例代码:
```java
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(4, 5, 6, 7, 8);
List<Integer> result = list1.stream()
.filter(list2::contains) // 根据条件筛选符合条件的元素
.collect(Collectors.toList());
System.out.println(result); // 输出 [4, 5]
```
在上述代码中,我们使用`list1.stream()`创建了一个流,然后使用`filter`方法来筛选符合条件的元素。在`filter`方法中,我们通过`list2::contains`来判断元素是否存在于`list2`中,如果存在,就会被保留下来。
最后,我们使用`collect(Collectors.toList())`将流中的元素收集到一个新的列表中,并打印结果。输出结果为`[4, 5]`,即符合条件的元素。
阅读全文