如题:list中存放的beans,想知道这些beans中的某个字段是否存在于里面,按照原来的操作是需要遍历list拿出逐个bean进行字段的equals,现在使用lamda表达式的话可以简化代码,如下:
boolean isExsists = list.stream().anyMatch(a -> a.getName().equals("aaa"));
代码示例:
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);
}
}
该博客介绍了如何利用Java 8的Stream API和Lambda表达式来优化代码,特别是针对查找列表中特定对象字段的场景。通过示例展示了如何使用anyMatch方法检查beans列表中是否存在某个字段等于特定值的元素,从而避免传统for循环遍历的方式,提高了代码的可读性和简洁性。
7170

被折叠的 条评论
为什么被折叠?



