如何在 Java 中使用 lambda 表达式搜索集合?
How to search a collection using lambda expression in Java?
有一个Person
class(三个元素:person_name
、age
、sex
)。有一个 List
有 100 个 Person
个对象。
我需要通过person_name
搜索这个列表,并用lambda表达式实现搜索功能。
public Optional<Person> findPersonByName(final List<Person> list, final String name) {
return list.stream().filter(p -> p.getName().equals(name)).findAny();
}
它 returns 和 Optional
因此您需要测试它以查看是否存在值。或者,如果您希望在失败的搜索中返回 null,则可以使用 orElse(null)
。
有一个Person
class(三个元素:person_name
、age
、sex
)。有一个 List
有 100 个 Person
个对象。
我需要通过person_name
搜索这个列表,并用lambda表达式实现搜索功能。
public Optional<Person> findPersonByName(final List<Person> list, final String name) {
return list.stream().filter(p -> p.getName().equals(name)).findAny();
}
它 returns 和 Optional
因此您需要测试它以查看是否存在值。或者,如果您希望在失败的搜索中返回 null,则可以使用 orElse(null)
。