Guava - 如何根据谓词从列表中删除,并跟踪删除的内容?

2023-12-25

我有一个ArrayList过滤后,还有各种番石榴Predicates 来过滤它。该列表只有 50-100 个元素。

我本来打算Iterables.removeIf依次使用每个谓词。它可能不是最大效率,但没关系(至少removeIf对随机访问列表进行了一些优化)

为了调试,我想简洁地记录每个谓词所做的事情。例如

Pred0 removed [a, c, g]
Pred1 removed []
Pred2 removed [b, f]

有一些明显的黑客解决方案,但您建议最干净的解决方案是什么?

对于奖励积分来说,它也应该相当有效。 ;)


我会捕获谓词代码中删除的元素。

List<String> removedElements = Lists.newArrayList();
final Iterables.removeIf(list, new Predicate<String>() {
    @Override
    public boolean apply(String input) {
        if ("a".equals(input)) {
            removedElements.add(input);
            return true;
        }
        return false;
    }
}); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Guava - 如何根据谓词从列表中删除,并跟踪删除的内容? 的相关文章

  • 将 Java 对象图保存为 XML 文件

    将任意 Java 对象图保存为 XML 文件 并能够在以后重新水合对象 的最简单易用的技术是什么 这里最简单的方法是序列化对象图 Java 1 4 内置了对 XML 序列化的支持 我成功使用的一个解决方案是 XStream http x s
  • 无法禁用 Firestore 中的离线数据

    从我的数据中删除数据后Firestore Database 这需要我的Android app一段时间后才意识到数据已被删除 我认为这是由于自动数据缓存而发生的 我的应用程序与离线使用无关 我想禁用此功能 我已将其添加到我的自定义中Appli
  • 为 JSP 创建注销链接?

    当用户登录我的应用程序时 他提交一个要通过 Servlet 处理的表单 servlet 为用户创建一个会话 我如何创建一个链接以便用户可以注销 我似乎无法直接链接到 Servlet 如何删除会话并链接回主页 HttpSession sess
  • android新手需要了解“?android:attr/actionBarSize”

    我正在经历拉尔斯 沃格尔的教程 http www vogella com articles AndroidFragments article html在使用 Fragments 时 我遇到了以下代码 android layout margi
  • 在 Java 中将字符串复制到文件的开头

    我想将一个字符串写入文件的开头 我该怎么做 我根本不知道如何添加字符串 这就是我到目前为止所做的 public static void prepend String filename String data throws IOExcepti
  • .NET 世界有 Maven 替代方案或端口吗?

    NET 世界有 Maven 替代方案或端口吗 我很想使用 Java 世界拥有的良好依赖管理系统 但我没有找到任何可与 NET 项目相媲美的系统 NMaven http incubator apache org nmaven 是第一个 官方努
  • rmi类找不到异常

    我使用 java rmi 编写了一个简单的项目并导出到可执行 jar 文件 当我尝试运行它时 有时会出现异常 有时会起作用 当我指定 Djava rmi server codebase file serverClasses 时 它似乎没有正
  • 无法从 PDFA1-a 格式文档中提取图像

    我正在使用以下代码从 PDFA1 a 格式的 pdf 中提取图像 但我无法获取图像 List
  • 如何使用 Java 文档 API 为 OrientDB 数据库创建自动递增索引/序列?

    我通过其文档 API 将 OrientDB 与 Java 结合使用 我有一个简单的类叫做items它有一个属性ID 我明确声明架构如下 OSchema schema db getMetadata getSchema OClass items
  • 在字节数组上进行右位旋转/循环移位的最快方法是什么

    如果我有数组 01101111 11110000 00001111 111 240 15 移位 1 位的结果是 10110111 11111000 00000111 183 248 7 数组大小不固定 移位范围为 1 到 7 含 目前我有以
  • 为什么我在 Java 中收到有关“可能丢失精度”的警告?

    class Test public static void main String args short s 2 s1 200 s2 s2 s s1 error possible loss of precision System out p
  • Thread.interrupt() 和 Thread.interrupted() 到底是如何工作的? [复制]

    这个问题在这里已经有答案了 从设置线程状态的角度来看 我不清楚这两种方法 Java 文档说 Thread interrupt 设置线程中断状态标志 调用 Thread interrupted 方法给出线程的状态并清除该标志 当这在实际场景中
  • CXF 增加连接池大小而不更改 http.maxConnections

    最近我被要求将 CXF 配置为与我们旧的 XFire 服务相同的参数 这些参数之一是Keep Alive timeout 60 max 20 然而 我做了一些研究 看来 CXF 使用 JVMHttpURLConnection引擎盖下的对象
  • Java:易失性足以使类线程安全?

    我有一个关于 Java 中 volatile 语句的问题 请看这个构造的例子 class Master Foo is a class with thread safe methods public volatile Foo foo clas
  • 如何使用现代.fxml和controller.java在javafx 2.x中制作自动完成组合框[重复]

    这个问题在这里已经有答案了 如何使用现代 fxml 和controller java 在 javafx 2 x 中制作一个类似的自动完成组合框 就像制作这个一样 http blog ngopal com np 2011 07 04 auto
  • 向 ExtJS GridPanel 添加过滤器标题行

    我知道可以在列标题下添加一个过滤器行 因为我已经看到它是用 Coolite 完成的 但由于我是 Sencha ExtJS 的新手 所以我很难找到如何直接在脚本中使用 ExtJS grid GridPanel 来完成此操作 请您用一些样品为我
  • Java Media API:java media api 下载

    我在哪里可以找到javax media jar 文件 在sun站点它下载一个安装程序 有没有可用的java媒体jar 没有 javax media 具体是 jar 文件 该包位于 jmf jar 文件中 您需要运行安装程序并取出 jar 或
  • 在android中测量不规则多边形的面积

    我正在开发一个应用程序 在其中我在地图上绘制多边形 并且我使用的地图不是谷歌 它的Mapsforge开源离线地图库 我可以通过将地理点转换为像素点来轻松在地图上绘制多边形 但在这里我想发现是不规则的多边形 为此我做了很多尝试 但它让我失败了
  • Cassandra 会话与集群 有什么可分享的?

    考虑 Cassandra 的 Session 和 Cluster 类 Java 驱动程序 我想知道有什么区别 在 Hibernate 中 每次都会创建一个会话并共享会话工厂 从许多来源我了解到 它被认为是创建一个会话并在多个线程之间共享它
  • Java编程编译jar

    我有一个文本文件中的java源代码 必须在源代码中输入一些自定义的硬编码变量 然后将其转换为 jar 这是可行的 但是当我运行 jar 时 找不到 Main 类 当我用 WinRAR 解压 jar 文件时 我似乎找不到错误 当我通过 cmd

随机推荐

  • jquery datepicker 使用两个日期选择器的最大日期最小日期控制

    我所拥有的 我在jquery中有两个日期选择器日历控件 其中第一个只能选择当前日期和上一个日期 但不能选择未来日期 因为我已经编写了运行良好的代码 现在我必须使用另一个带有日期选择器的文本框 它只能选择第一个文本框中选择的日期和当前日期之间
  • 在 ASP.NET MVC 中管理 ADO.NET 实体框架 ObjectContext

    我在 MVC 应用程序中使用 ADO NET EF 我正在考虑将 ObjectContext 放入 HttpContext Current 中 以便同一请求中的所有逻辑都可以访问它 而不必每次都打开 销毁 但是 我真的确定这是否是管理 Ob
  • C 中止陷阱 6 错误

    我有这个代码 void drawInitialNim int num1 int num2 int num3 int board 2 50 make an array with 3 columns int i i j k are loop c
  • 更新 Mapview Xcode 中的位置

    在我当前的项目中 我每次都需要用户的位置50 meter用户移动 所以基本上每次打开申请后50 meter更改我需要用户位置来调用 Web 服务Objective c 我还希望当应用程序处于后台状态时运行相同的进程 提前致谢 您必须在应用程
  • 快速从函数返回多个值

    如何从 swift 中的函数返回 3 个相同类型 Int 的单独数据值 我正在尝试返回一天中的时间 我需要将小时 分钟和秒作为单独的整数返回 但所有这些都来自同一个函数 这可能吗 我想我只是不理解返回多个值的语法 这是我正在使用的代码 我在
  • MySQL OUTER JOIN 语法错误

    也许对你们来说是一个捂脸 但作为一个 SQL 查询新手 我遇到了语法问题 有谁知道出了什么问题吗 SELECT FROM company C OUTER JOIN company address A ON C company id A co
  • 如何在不安装 CPAN 模块的情况下安装它?

    这是我之前问题的后续关于开发 Perl 应用程序 https stackoverflow com questions 1679835 假设我使用 CPAN 模块开发了一个应用程序Module Install 现在我将代码上传到生产服务器 例
  • 自定义包编译选项 R

    我正在构建一个包含旧的包f77绝对应该使用以下代码构建o0优化选项 In the src Makevars在我的包中我添加了这一行 FFLAGS O0 pipe g LTO 但是当我编译我的包时 我看到 R 仍在使用 默认编译选项来自 us
  • SVG上的JS——获取元素的innerHTML

    我想从 SVG 文件中提取一些数据 我知道SVG是XML 所以我想用JS把数据导出来会很容易 所以 我想从 SVG 中提取一堆文本 所以 我启动了 chrome 的 JS 控制台 并尝试做一些事情 我需要得到所有tspan数组中的元素 提取
  • Aurelia js文件上传到服务器

    您好 我是 aurelia js 新手 我需要将文件上传到服务器 我使用 autrelia js materializecss 和 httpClient fetch 进行 api 调用 我不知道如何将文件发送到服务器 view
  • 如何签署使用 PhoneGap Build 构建的 Android APK?

    PhoneGap Build 似乎是一个很棒的工具 我用它构建了一个 apk 并在多个 Android 设备上进行了测试 现在我需要将其提交到 Google Play 商店 但我需要对 apk 进行签名 我已经在 Google 开发者网站上
  • 使用 pecl 在 OS X El Capitan (v10.11.1) 上安装 Mongodb 驱动程序

    我正在尝试为 OS X 安装 php mongo 驱动程序 我尝试过以下操作这些说明 http jafdip com how to install mongodb and the php mongo drive on mac os x sn
  • c# - 读取 HTML?

    我正在用 C 开发一个程序 我需要一些帮助 我正在尝试创建在某个网站上显示的数组或项目列表 我想做的是阅读锚文本 它是href 例如 这是 HTML div class menu 1 div class items div class mi
  • 演员和幕后工作者

    client Client 127 0 0 1 8786 direct to workers True future1 client submit Counter workers ninja actor True counter1 futu
  • 代码分析返回并建议不使用“out”参数

    我针对我创建的对象运行 VS 2008 代码分析工具并收到以下建议 警告 147 CA1021 Microsoft Design 考虑一种不 要求 returnValue 为 out 范围 我发现 out 参数相当有用 但没有意识到它们被认
  • 使用反射调用超类方法而不使用其实例

    请考虑以下演示继承和反射的代码 Parent class package basics public class Vehicle private void parentPrivateMethod System out println Thi
  • 以编程方式创建的窗口出现但不响应触摸事件

    我正在创建没有 MainWindow nib 的应用程序 更新到新的 SDK 后 我的应用程序完全崩溃了 在 main m 的 main 函数中 我有 int retVal UIApplicationMain argc argv nil A
  • 如何通过 *default* 命名空间 XmlObject.selectPath() ?

    我发现这种查询 XmlObject 以返回包含特定命名空间的元素的方法 XmlObject xobj XmlObject Factory parse a n a
  • Xcode Instruments - 僵尸 - 我在寻找什么?

    当我在 Xcode 中运行 Project Profile 并选择 Zombies 应用程序在模拟器中运行 NSZombie detection 已启用 但是我应该寻找什么来告诉我存在问题 我所看到的只是分配工具正在运行以及下面的统计数据
  • Guava - 如何根据谓词从列表中删除,并跟踪删除的内容?

    我有一个ArrayList过滤后 还有各种番石榴Predicates 来过滤它 该列表只有 50 100 个元素 我本来打算Iterables removeIf依次使用每个谓词 它可能不是最大效率 但没关系 至少removeIf对随机访问列