小编Hen*_*nfo的帖子

计算具有重复项的两个列表的差异

我有两个清单。

List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 2));
List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4));
Run Code Online (Sandbox Code Playgroud)

我想删除的元素包含在list2list1,正是多次,因为它们包含在list2。在上面的示例中:当我们删除列表1中存在于列表2中的元素时,我们应该得到结果[1, 2](由于仅包含的一个实例,因此2应该从中删除一次出现)。list1list22

我尝试过,list1.removeAll(list2);但得到的结果列表仅包含[1]

实现此目标的最佳方法是什么?同时浏览两个列表对我来说似乎有点麻烦。

java iterator arraylist java-stream

2
推荐指数
1
解决办法
289
查看次数

标签 统计

arraylist ×1

iterator ×1

java ×1

java-stream ×1