代码之家  ›  专栏  ›  技术社区  ›  Franckyi

访问列表中所有对象的字段

  •  4
  • Franckyi  · 技术社区  · 7 年前

    我有一个 List<Foo> 哪里 Foo 是一个 class 包含 String name .我想知道 List 包含一个 对象与它的 "bar" .

    在不迭代每个对象并逐个测试它们的情况下,这是可能的吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Jacob G.    7 年前

    您可以使用并行流返回 Optional<String> Foo List<Foo> :

    list.parallelStream()
        .map(Foo::getName)
        .filter(s -> s.equals("bar"))
        .findAny();
    

    列表(<);Foo>

    另一种选择是按 name 属性,然后进行二进制搜索,但排序很可能仍会花费一点成本。