java stream流去除一个list中另一个list包含的元素
时间: 2023-08-05 08:04:54 浏览: 304
java中循环删除list中元素的方法总结
5星 · 资源好评率100%
假设你有两个列表listA和listB,如果你想从listA中删除listB中包含的所有元素,可以使用Java 8 Stream API中的filter()方法和contains()方法来实现,如下所示:
```
List<Integer> listA = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
List<Integer> listB = new ArrayList<>(Arrays.asList(2, 4));
listA = listA.stream().filter(i -> !listB.contains(i)).collect(Collectors.toList());
System.out.println(listA); // 输出 [1, 3, 5]
```
在这个例子中,我们使用filter()方法对listA进行筛选,只保留不包含在listB中的元素。然后使用collect()方法将筛选后的结果重新收集为一个新的列表,最后将其赋值给listA。
希望这能回答你的问题!
阅读全文