有Person
个类(包含三个元素:person_name
,age
,sex
)。有一个List
有100个Person
个对象。
我需要通过person_name
搜索此列表,并使用lambda表达式实现搜索功能。
答案 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)
。