如何在Java中使用lambda表达式搜索集合?

时间:2015-01-11 22:21:19

标签: java lambda collections java-8

Person个类(包含三个元素:person_nameagesex)。有一个List有100个Person个对象。

我需要通过person_name搜索此列表,并使用lambda表达式实现搜索功能。

1 个答案:

答案 0 :(得分:20)

public Optional<Person> findPersonByName(final List<Person> list, final String name) {
    return list.stream().filter(p -> p.getName().equals(name)).findAny();
}

它会返回Optional,因此您需要对其进行测试以查看是否存在值。或者,如果您希望在失败的搜索中获得空值,则可以使用orElse(null)