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

时间:2017-07-10 18:16:33

标签: java list java-8 field

我有List<Foo>,其中Fooclass,其中包含名为String的{​​{1}}字段。我想知道name是否包含一个List对象,Foo等于name

这是否可以在不迭代每个对象并逐个测试的情况下实现?

我正在使用Java 8.

1 个答案:

答案 0 :(得分:2)

您可以使用并行流返回Optional<String>,该Foo可能为空,也可能不为空,具体取决于&#34; bar&#34;作为List<Foo>中的list.parallelStream() .map(Foo::getName) .filter(s -> s.equals("bar")) .findAny(); 对象的属性存在:

List<Foo>

这仍然会遍历name,但在最坏的情况下,它是O(n /使用的线程数)

另一种选择是按Select co.id ,co.opp_id ,(IF co.opp_id NOT NULL THEN Opp.Col1 ,opp.Col2) ,customer.cust_num From co LEFT OUTER JOIN opp on co.opp_id = opp.opp_id LEFT OUTER JOIN customer on co.cust_num = customer.cust_num 属性对列表进行排序,然后进行二进制搜索,但最有可能需要对其进行排序。