java两个list用stream流的filter过滤
时间: 2023-08-26 19:09:21 浏览: 470
Java8 Stream对两个 List 遍历匹配数据的优化处理操作
3星 · 编辑精心推荐
假设有两个List,List A 和 List B,想要使用Stream流的filter方法过滤出它们共同拥有的元素,可以按照以下步骤操作:
1. 将其中一个List(比如 List A)转换为Set,这样可以利用Set的交集操作。
```
Set<T> setA = new HashSet<>(listA);
```
2. 使用filter方法过滤出 List B 中与 List A 共同拥有的元素:
```
List<T> result = listB.stream()
.filter(setA::contains)
.collect(Collectors.toList());
```
其中,setA::contains 表示使用Set的contains方法来判断元素是否存在于setA中。最终得到的result即为两个List共同拥有的元素。
阅读全文