// 从一个实体的列表中找出具有特定属性值的实体
使用 Java 8 的 Stream API,可以从一个实体的列表中找出具有特定属性值的实体。从一个包含 Person
对象的列表中找出特定属性的实体。假设 Person 类包含 name 和 age 属性,从一个包含 Person 对象
的列表 personList 中找到所有年龄等于30 的人:

1
2
3
List<Person> filteredPersons = personList.stream()
.filter(person -> person.getAge() == 30)
.collect(Collectors.toList());

上面的代码中,使用 stream() 方法将列表转换为一个 Stream 对象,然后使用 filter() 方法过滤出
所有年龄等于 30 的 Person 对象。最后,使用 collect() 方法将所有符合条件的Person 对象收集到
一个新的列表中。
如果只想获取符合条件的第一个实体,可以使用 findFirst() 方法:

1
2
3
Optional<Person> firstPerson = personList.stream()
.filter(person -> person.getAge() == 30)
.findFirst();

使用 findFirst() 方法获取符合条件的第一个 Person 对象,并将其封装在一个 Optional 对象中。
如果没有符合条件的 Person 对象,Optional 对象将为空。