java - 使用 Google Guava API 进行过滤

标签 java guava

有没有办法使用 Google Guava API 检查列表中的所有对象是否具有相同的属性?

此外,有没有办法向 Predicate 发送更多参数?

假设我想用从用户那里获得的字符串过滤所有对象, 我希望谓词在应用过滤器时使用此参数。

最佳答案

您可以按如下方式创建自己的谓词:

class MyPredicate implements Predicate<MyObject> {
  private final String parameter;

  public MyPredicate(String parameter) {this.parameter = parameter;}

  boolean apply(MyObject input) {
  // apply predicate using parameter.
  }
}

然后您可以通过执行以下操作进行过滤:

Iterables.filter(myIterable, new MyPredicate(myParameter));

尽管这会执行惰性过滤器,但您应该小心。

关于java - 使用 Google Guava API 进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875768/

相关文章:

java - Gradle构建失败

java - java编译器如何找到没有头文件的类?

java - 使用 hashmap 实现优先级队列

java - 如何使用 Java 中的特定字段对 CSV 文件中的数据进行排序?

java - EventBus 和 Swing JFrame 垃圾收集?

java - 尝试在 Go 中实现 Java Guava sets.difference

java - 多键多值映射可能吗?

java - 为 Guava Cache 选择键

java - 将 map 声明为 Map<String, Object> 与仅 Map 相比是否有任何优势

java - 为什么ImmutableSet允许重复,而ImmutableMap不允许