javastream在正常开发中使用到的地方还是蛮多了,在这里记一下基本方法的使用:
private Integer id;
private String sex;
private Integer age;
private Integer score;
public Student() {
}
public Student(Integer id, String sex, Integer age, Integer score) {
this.id = id;
this.sex = sex;
this.age = age;
this.score = score;
}
Student stuA = new Student(1, "A", 18, 184);
Student stuB = new Student(2, "B", 19, 163);
Student stuC = new Student(3, "C", 20, 175);
Student stuD = new Student(4, "D", 21, 158);
Student stuE = new Student(5, "E", 22, 170);
ArrayList<Student> slist = new ArrayList<>();
slist.add(stuA);
slist.add(stuB);
slist.add(stuC);
slist.add(stuD);
slist.add(stuE);
筛选信息(filter)----->找出这些同学中20岁的同学打印学生信息
for (int i = 0; i < slist.size(); i++) {
if (slist.get(i).getAge() == 20){
System.out.println(slist.get(i).toString());
}
}
Stream<Student> studentStream = slist.stream()
.filter(student -> student.getAge() == 20);
Student{id=3, sex='C', age=20, score=175}
变成集合(collect)----->从流数据变成集合数据
List<Student> student1 = slist.stream()
.filter(student -> student.getAge() == 20)
.collect(Collectors.toList());
[Student{id=3, sex='C', age=20, score=175}]