用Stream筛选两个ArrayList中的元素得到新ArrayList
时间: 2024-05-05 13:15:00 浏览: 66
两个List集合取相同重复数据的方法
假设我们有两个ArrayList,分别是list1和list2,每个ArrayList中都有一些元素。我们想要使用Stream筛选出同时在这两个ArrayList中存在的元素,并将它们添加到一个新的ArrayList中。 可以按照以下步骤进行操作:
1. 将list1和list2合并成一个ArrayList,可以使用addAll方法:
```
List<Integer> allList = new ArrayList<>();
allList.addAll(list1);
allList.addAll(list2);
```
2. 使用Stream的filter方法,筛选出在两个ArrayList中都存在的元素:
```
List<Integer> result = allList.stream()
.filter(i -> list1.contains(i) && list2.contains(i))
.collect(Collectors.toList());
```
3. 最后,我们将得到一个新的ArrayList,其中包含在两个原始ArrayList中都存在的元素。
阅读全文