package testLambda;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Student student = new Student();
student.setName("name"+i);
student.setAge("1_"+i);
students.add(student);
}
Student student = new Student();
student.setName(null);
student.setAge(null);
students.add(student);
System.out.println("全部数据:" + students);
// 根据条件从列表中获取查找的一条数据
Student student1 = students.stream().filter(entity -> entity.getAge().equals("1_1")).findFirst().get();
System.out.println("根据条件从列表中获取查找的一条数据:" + student1);
// 过滤掉某一条数据,返回其他所有的数据
List<Student> collect = students.stream().filter(name -> null != name.getName()).collect(Collectors.toList());
System.out.println("过滤掉某一条数据,返回其他所有的数据:" + collect);
// 获取所有的name
List<String> collect1 = students.stream().map(Student::getName).collect(Collectors.toList());
System.out.println("获取所有的name:" + collect1);
}
}
打印结果:
全部数据:[Student{name='name0', age='1_0'}, Student{name='name1', age='1_1'}, Student{name='name2', age='1_2'}, Student{name='null', age='null'}]
根据条件从列表中获取查找的一条数据:Student{name='name1', age='1_1'}
过滤掉某一条数据,返回其他所有的数据:[Student{name='name0', age='1_0'}, Student{name='name1', age='1_1'}, Student{name='name2', age='1_2'}]
获取所有的name:[name0, name1, name2, null]