java - CollectionUtils 使用对象元素集合过滤对象集合

标签 java collections apache-commons

我有一个 HOUSE 对象的集合,每个 HOUSE 对象都有元素 - ID、NAME。我从另一个来源获得了另一个 ID 集合。我想从 HOUSE 对象的原始集合中删除具有这些 ID 的 HOUSE 对象。我正在尝试这样的事情..但我无法将排除IDsList 传递给内部类谓词。还有其他想法吗?

List<HOUSE> originalHouses = ...//List of houses
List<ID> exclusionIDsList = ...//List of IDs to exclude

CollectionUtils.filter(originalHouses, new Predicate() {
    @Override
    public boolean evaluate(Object arg0) {
        if(exclusionIDsList.contains(((HOUSE)arg0).getID())
            return false;
        else return true;
    }
});

最佳答案

声明exclusionIDsList 最终:

final List<ID> exclusionIDsList = ...

关于java - CollectionUtils 使用对象元素集合过滤对象集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25943521/

相关文章:

java - Commons IO 2.4,如何控制FileAlterationListener的状态并重启

java - 使用 Java keytool 的 PKCS11 格式 key

java - 使用 Stream 还是 Loop 之间的决定

java - 列表 <? 之间的区别扩展 A> 和 List<A>

java - 这两种将集合转换为数组对象的方法的区别

java - commons-lang 中是否有实用方法?

java - MySQL Java 存储过程给出错误 "Parameter index of 1 is out of range"

java - rxJava如何让flatMap在多线程上运行

java - SQLite数据库无法找到字符串

java - 如何在 Spring Boot 中使用 CommonsMultipartResolver