如题:list中存放beans,想获取某个条件下的bean,按照传统的方式需要遍历list,拿着bean的字段去判断相等,然后返回符合条件下的bean对象,使用lambda的话,可以减少代码,如下:
Object bbb = list.stream().filter(item -> item.getName().equals("bbb")).findFirst().get();
代码:
package com.chunge.utest.test;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
public class LamdaTest {
@Data
public static class People{
private String name;
private Integer age;
}
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 list = new ArrayList();
list.add(p1);
list.add(p2);
list.add(p3);
//获取list中name=bbb的对象
People bbb = list.stream().filter(item -> item.getName().equals("bbb")).findFirst().get();
System.out.println(bbb.toString());
}
} 


