java - 如何从具有多种对象类型的集合中只读取一种类型的特定对象

标签 java object hashmap set hashset

我有一个包含两种对象类型的集合。我只想将两种类型中的一种读入一个新的 Set 中。 有没有一种优雅的方式来做到这一点?

最佳答案

使用 Google Guava 的过滤器。

Collections2.filter(yourOriginalCollection, new Predicate<Object>() {
    public boolean apply(Object obj) {
        return obj instanceof TypeYouAreInterestedIn;
    }
});

或者在 Java 8 中:

Collections2.filter(yourOriginalCollection, (obj) -> obj instanceof TypeYouAreInterestedIn);

关于java - 如何从具有多种对象类型的集合中只读取一种类型的特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33258561/

相关文章:

javascript - 按表中标题名称的特定顺序显示对象数组

Java 8 遍历列表并存储在 Map 中

javascript - 幕后是否存在 JavaScript 中的数组/列表?

javascript 无法将元素添加到字典中

java - 插入二叉树(无序)

java - 下面的代码中创建了多少个 String 对象?

java - Spring XML View 解析器配置

Python 字典大小与对象大小效率

javascript - 您在任何时候可以拥有的 JavaScript 对象的数量是否有限制?

java - Mule JMS ActiveMQ 传输无法故障转移