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}]