如题:list中存放的beans,想知道这些beans中的某个字段是否存在于里面,按照原来的操作是需要遍历list拿出逐个bean进行字段的equals,现在使用lamda表达式的话可以简化代码,如下:
1 |
boolean isExsists = list.stream().anyMatch(a -> a.getName().equals("aaa")); |
代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
package com.owl.demo.tests; import java.util.ArrayList; import java.util.List; public class LamdaTest { public static void main(String[] args) { //示例数据 People p1 = new People(); p1.setName("aaa"); p1.setAge(23); People p2 = new People(); p2.setName("bbb"); p2.setAge(23); People p3 = new People(); p3.setName("ccc"); p3.setAge(23); List<People> list = new ArrayList<People>(); list.add(p1); list.add(p2); list.add(p3); //lamda判断list中是否存在name=aaa的对象 boolean isExsists = list.stream().anyMatch(a -> a.getName().equals("aaa")); System.out.println(isExsists); } } |
from:https://blog.csdn.net/csdn_avatar_2019/article/details/123704052
View DetailsJava 8 发布至今也已经好几年过去,如今 Java 也已经向 11 迈去,但是 Java 8 作出的改变可以说是革命性的,影响足够深远,学习 Java 8 应该是 Java 开发者的必修课。
今天给大家带来 Java 8 Stream 讲解,为什么直接讲这个,是因为只要你学完,立刻就能上手,并能让它在你的代码中大展身手。
值得注意的是:学习 Stream 之前必须先学习 lambda 的相关知识。本文也假设读者已经掌握 lambda 的相关知识。
1 2 3 4 5 6 7 8 9 |
List<Student> students = new ArrayList<>(); students.add(new Student(1,"张三",90)); students.add(new Student(2,"李四",60)); students.add(new Student(3,"王五",30)); students.add(new Student(4,"赵六",85)); int studentId = 3; Student student = students.stream().filter(o -> o.getId() == studentId).findAny().orElse(null); |
如上,获取id为3的元素对象,如果不存在返回null。 student类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Student { private int id; private String name; private int score; public Student(int id, String name, int score) { this.id = id; this.name = name; this.score = score; } get... set... } |
from:https://www.csdn.net/tags/MtTaAgwsOTU2MzEyLWJsb2cO0O0O.html
View Details