计算两个重复列表的差异

2024-01-09

我有两个清单。

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

我想删除其中包含的元素list2 from list1,恰好与它们包含在中的次数一样多list2。在上面的例子中:当我们删除列表 1 中存在于列表 2 中的元素时,我们应该得到结果[1, 2](仅出现一次2应该从list1因为list2仅包含一个实例2).

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

实现这一目标的最佳方法是什么?同时迭代两个列表对我来说似乎有点难看。


如果我理解正确的话,你只想删除一个2元素来自list1而不是全部。你可以迭代一遍list2并尝试从中删除每个元素list1。请记住,如果有比这更有效的方法list2不能包含重复项。

var list1 = new ArrayList<>(List.of(1, 2, 2));
var list2 = List.of(2, 3, 4);

list2.forEach(list1::remove);    

list1现在包含以下内容:

[1, 2]

See starman1979 的回答 https://stackoverflow.com/a/49411110/7294647对于相同的解决方案,但使用 lambda 而不是方法引用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算两个重复列表的差异 的相关文章

随机推荐

  • 将段落宽度限制为其父级 div

    我有以下 HTML 代码 div style width 100 div img src http www lappelducourty be test wp content uploads 2013 01 siesta 300x225 j
  • 创建浮动按钮以在电子表格中的单元格中添加/减去值

    为了简化现场数据输入 即使用平板电脑 我想在电子表格中创建按钮 用于在选定的单元格中添加或减去值 使用旋转按钮不是一种选择 因为我必须添加数百个这样的按钮 这个答案 https superuser com questions 1307146
  • 两端和之间有点的垂直线

    我一直在这里和谷歌上寻找解决方案 但没有成功 我想创建一条垂直线 其末端有点 沿线有一些点 例如img 我怎样才能用CSS实现这一点 我可以做一条有间距的虚线 但我不知道如何创建这条线 如果这可能的话 这是一个可能帮助您解决问题的快速片段
  • Python readline() 不起作用?

    我正在做一个小程序来帮助我学习Python 我对Python很陌生 我正在使用Python 3 2 在 Python shell 中 当我输入 f open filename txt r f readlines 它打印了所有内容filena
  • 如何知道代码是否在 TransactionScope 内?

    了解代码块是否在 TransactionScope 内的最佳方法是什么 Transaction Current 是一种可靠的方法吗 还是有什么微妙之处 是否可以通过反射访问内部 ContextData CurrentData Current
  • 面向 Python 程序员的 MATLAB

    我用过MATLAB http en wikipedia org wiki MATLAB以前断断续续 但现在我需要对它有一个很好的理解 而我最熟悉的语言是Python 想要描述与 Python 相比的 MATLAB 语言功能 惯用语 最佳实践
  • 在 window.open() 中使用 rel="noopener"

    所以我知道我可以申请rel noopener in an a使用时标记target blank 但我试图将其作为参数传递给window open ie window open http cats com blank rel noopener
  • Google Web Optimizer - 距离获胜组合还有多长时间?

    我已经运行了 A B 测试谷歌网络优化器已经六个星期了 而且还看不到结束的迹象 谷歌仍然表示 我们还没有收集到足够的数据来显示任何重大结果 当我们收集更多数据时 我们应该能够向您展示一个获胜的组合 有什么方法可以判断谷歌距离做出决定还有多远
  • 谷歌在没有地图的情况下放置图书馆

    我正在尝试使用谷歌地点库来执行附近的搜索请求 https developers google com maps documentation javascript places place search requests https deve
  • 使用 cv2.imshow 时获取此黑色窗口而不是图片

    我不知道应该使用什么术语来表示我得到的窗口 因此我附上了窗口的屏幕截图以供参考 在我运行此代码的 10 次中 大约有 7 次出现此窗口 import cv2 import numpy as np import face recognitio
  • 使用英特尔 MKL 计算“trans(a)*inv(b)*a”的正确方法

    我在用英特尔的 MKL LAPACKE 和 CBLAS https software intel com en us mkl developer reference c cblas gemm计算 yn trans a inv zt a tr
  • 如何在ember中绑定js输入值?

    我有一个 ember 组件 它有一个 html 输入框 例如 从我的组件中 我在输入具有如下值的搜索框时触发操作 App TopBarComponent Ember Component extend keyUp function event
  • 将 java.util.Date 转换为 java.time.LocalDate

    转换的最佳方法是什么java util Date反对新的 JDK 8 JSR 310java time LocalDate Date input new Date LocalDate date 简短回答 Date input new Dat
  • Python 3 中的相对导入不起作用[重复]

    这个问题在这里已经有答案了 我有以下目录 mydirectory init py file1 py file2 py 我在 file1 py 中定义了一个函数 f 如果在 file2 py 中我这样做 from file1 import f
  • 声纳 - 无法请求服务器版本 | HTTP 状态 404

    我正在为 Java 设置一个声纳系统 我的本地测试 SonarServer 4 0 成功连接并处理我的 antscript 我使用的是 sonar ant task 2 2 jar 但我的目标服务器 3 7 3 甚至不提供服务器版本 我尝试
  • PHP | Define() 与 const

    在 PHP 中 可以通过两种方式声明常量 With define keyword define FOO 1 Using const keyword const FOO 1 这两者之间的主要区别是什么 何时以及为何应使用其中一种 何时使用另一
  • WASM 可以在没有任何 JavaScript 的情况下访问 DOM 吗?

    有没有什么方法可以在没有 JavaScript 的情况下获得对 DOM 和 或 WebAPI 即全屏 API 的读 写访问权限 我正在尝试用 C 语言构建一个基本应用程序 C 源代码实际上是 GC 语言转译的结果 我正在构建的应用程序将作为
  • 取消线程或永久删除单个 Gmail 邮件,而不关闭线程

    我有从扫描仪通过电子邮件收到的文档 扫描仪无法改变主题 来自扫描仪的所有电子邮件主题均相同 扫描到电子邮件服务器作业 但是 每个文件名都是唯一的 谷歌将消息串联起来 而我通常希望继续进行串联 我运行一个脚本来提取 PDF 并放入驱动器 然后
  • 如何在目录上运行coverage.py?

    我有一个目录tests其中包括许多不同的测试 名为test 我试着跑coverage run tests但它不起作用 如何运行单个命令来覆盖目录中的多个文件 下面是一个完整的示例 其中来自同一 PWD 的所有阶段的命令都集中在一个位置 通过
  • 计算两个重复列表的差异

    我有两个清单 List