如何从 Java 集合中弹出项目?

2024-01-06

JDK 或 apache commons 中是否有一种方法可以从 java.util.List 中“弹出”元素列表?我的意思是,删除元素列表并返回它,就像这个方法一样:

public Collection pop(Collection elementsToPop, Collection elements) {

  Collection popped = new ArrayList();

  for (Object object : elementsToPop) {
    if (elements.contains(object)) {
      elements.remove(object);
      popped.add(object);
    }
  }

  return popped;
}

如果您正在寻找类似堆栈的结构,我建议接受Deque (LinkedList是最常见的实现)而不是Collection.

如果您实际上不需要将其视为堆栈,只需从Collection并使用remove() method:

for (Iterator<SomeType> it = elements.iterator(); it.hasNext(); ) {
    SomeType e = it.next();
    it.remove();
    popped.add(e);
}

请注意,删除是一个可选操作,某些实现可能会抛出UnsupportedOperationException(例如,由 Collection 返回的迭代器Collections.unmodifiable...() will).

Edit: 仔细研究你的问题后,我认为你只需要这个:

elements.removeAll(elementsToRemove);

如果你的主要观点是你需要确切地知道which元素实际上已弹出,我认为您仍坚持原来的代码。

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

如何从 Java 集合中弹出项目? 的相关文章

  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • volatile、final 和synchronized 安全发布的区别

    给定一个带有变量 x 的 A 类 变量 x 在类构造函数中设置 A x 77 我们想将 x 发布到其他线程 考虑以下 3 种变量 x 线程安全 发布的情况 1 x is final 2 x is volatile 3 x 设定为同步块 sy
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何访问JAR文件中的Maven资源? [复制]

    这个问题在这里已经有答案了 我有一个使用 Maven 构建的 Java 应用程序 我有一个资源文件夹com pkg resources 我需要从中访问文件 例如directory txt 我一直在查看各种教程和其他答案 但似乎没有一个对我有
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 使用反射覆盖最终静态字段是否有限制?

    在我的一些单元测试中 我在最终静态字段上的反射中遇到了奇怪的行为 下面是说明我的问题的示例 我有一个基本的 Singleton 类 其中包含一个 Integer public class BasicHolder private static

随机推荐

  • 比较器 - int 不能取消引用[重复]

    这个问题在这里已经有答案了 我在这里看到了如何使用 Comparator 接口对 ArrayList 进行排序的示例 所以我尝试了一下 对于字符串 它工作得很好 但是对于我想要排序的一个变量是整数 它不会编译 说 int 不能取消引用 我该
  • 如何让屏幕暂停? [复制]

    这个问题在这里已经有答案了 可能的重复 如何阻止 C 控制台应用程序立即退出 https stackoverflow com questions 2529617 how to stop c console application from
  • 在 C++ 中使用 OpenCV 2.4 计算凸面缺陷

    我正在使用 OpenCV 2 4 来计算图像的凸包 我还进行了一些处理以消除图像中的一些噪声 这与问题并不真正相关 计算凸包的代码如下 cv Mat sourceImage assume something is already here
  • 如何将HTML文件转换为word? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要将 HTML 文档作为 Word DOC 文件保存在内存中 有人可以给我一些可以用来执行此操作的
  • JFreeChart 中的 LogAxis 上未显示小刻度

    我在用着JFreeChart绘制一些数据并使用LogAxis对于范围轴 我很困惑为什么我似乎无法在轴上显示小刻度 但网格线显示得很好 如果我不使用LogAxis我可以使用以下命令打开和关闭小刻度setMinorTickMarksVisibl
  • 具有拖放功能的示例任务应用程序

    app js App Em Application create App IndexRoute Em Route extend model function return newTasks Em A id 1 name Task 1 id
  • 这是 JavaScript 中的一个简单的去抖动函数吗?

    var debounce function fn delay var timeoutId return function debounced if timeoutId clearTimeout timeoutId timeoutId set
  • CSS 选择最多 N 层的嵌套元素

    我有许多嵌套元素 并且我尝试仅选择前 N 层 下面显示了一个工作示例 其中我选择了前 7 个级别并设置了它们的样式 这正是我想要的 但是 我希望有一种选择这些元素的简化方法 在我的实际用例中 我不知道嵌套元素的总数 并且我试图选择前 50
  • 使用 Rcpp Sugar 将平均值和标准差传递到 dnorm()

    我正在将一些 R 代码转换为 Rcpp 代码 并且需要计算给定均值向量和标准差向量的观察向量的可能性 如果我假设平均值为 0 标准差为 1 我可以编写这个函数 运行这个函数需要加载 inline 和 Rcpp 包 dtest1 cxxfun
  • 与 jMockit 结合的测试覆盖率报告

    我正在使用 jmockit 和 Ant 对于每个测试文件运行 index html文件在覆盖率报告文件夹中创建 覆盖 对于多个测试文件 这index html被覆盖 我正在寻找所有文件的综合报告 应该做什么 我读过有关使用 ser文件 但我
  • 为什么无法将任何字体另存为图像? (但要在我的Windows窗体上显示它)

    我有点困惑 因为我可以在 Windows 窗体上显示每种字体的每个字符串 但作为图像并不总是可能的 也许我的代码有问题 但让我告诉你我正在尝试什么 一开始我有这个 Label l new Label l Text CSharp this F
  • Ruby:在代码中使用 rand() 但编写测试来验证概率

    我有一些代码可以根据加权随机提供东西 权重较大的事物更有可能被随机选择 现在 作为一名优秀的 Ruby 专家 我当然希望通过测试来覆盖所有这些代码 我想测试是否按照正确的概率获取内容 那么我该如何测试呢 为应该是随机的东西创建测试使得很难比
  • 如何在 Windows 服务中显示表单。

    我想在 Windows 服务中的 OnStart 方法中加载表单 这是我的代码 它不起作用 您能提供任何帮助吗 protected override void OnStart string args Form1 fr new Form1 f
  • Firebase FCM,同一 Firebase 项目中的多个应用程序

    我有一个 Firebase 项目 在其中注册了多个应用程序 现在我想添加推送通知 并且我希望能够区分哪个应用程序应该被推送通知唤醒 在 google services json 文件中 我看到所有应用程序都具有相同的值current key
  • 无法更改工具栏的颜色

    谁能解释一下 为什么我的工具栏没有改变它的颜色 即使我创建了另一种样式 例如 将其添加到我的清单文件中 例如
  • 用户评论中的 Markdown(带有适当的清理和 Youtube 视频)

    我坚持决定如何进行 Markdown 处理和 Html 清理 我对评论 文章有这样的用户要求 用户应该能够使用 Markdown 语法 用户应该能够发布 youtube 视频 yandex music 音频 当然 用户不应该被信任 他们的输
  • JavaScript 中的两个字母变量名?

    我正在看一个今天回答一个 SO 问题 其中变量名称是 ua rv 等 https stackoverflow com questions 917252 how to detect if a user is running ie 6 9172
  • 如何更改 iOS 输入的插入符号的默认颜色?

    有什么办法可以改变 iOS 上输入的蓝色插入符号吗 UPDATE 因此 当 iOS 支持时 caret color 属性将解决这个 问题 当您将来访问这里时检查浏览器支持https caniuse com feat css caret co
  • 如何运行Android APK包中的控制台程序?

    APK 是在 RAD Studio C Builder 11 2 中编写的 例如 我尝试了很多方法 但都出现编译错误 代码如下 UnicodeString command test run TFileName fullPath TPath
  • 如何从 Java 集合中弹出项目?

    JDK 或 apache commons 中是否有一种方法可以从 java util List 中 弹出 元素列表 我的意思是 删除元素列表并返回它 就像这个方法一样 public Collection pop Collection ele