实现这样一个功能,找到一个班里数学分数高于90分的。
那还不简单,废话不多说,直接开撸。
void doSomeThing(List<Student> list) {
List<Student> newList = new ArrayList<>();
for (Student student : list) {
if (student.getScore() > 90) {
newList.add(student);
}
}
for (Student student : newList) {
System.out.println(student.getName());
}
}
丑,真滴丑,不忍直视的丑。
再看看这个
void doSomeThing(List<Student> list) {
List<Student> newList = list.stream().filter(item -> item.getScore() > 90).collect(Collectors.toList());
newList.forEach(item -> System.out.println(item.getName()));
}
是的,这就结束了。
当然还有变态的需求,找到第一个分数高于90分的。
哦
void doSomeThing(List<Student> list) {
Optional<Student> optionalStudent = list.stream().filter(item -> item.getScore() > 90).findFirst();
optionalStudent.ifPresent(student -> System.out.println(student.getName()));
}
转载于::https://blog.csdn.net/xiang_36/article/details/80769898