java8新特性-流(stream)的基础操作
目录结构
Person:pojo对象
package com.dhh.data;
//Person类
public class Person implements Comparable<Person>{
//姓名
private String name;
//性别
private String gender;
//年龄
private int age;
//成绩
private int score;
public String getName() {
return name;
}
public Person setName(String name) {
this.name = name;
return this;
}
public int getAge() {
return age;
}
public Person setAge(int age) {
this.age = age;
return this;
}
public int getScore() {
return score;
}
public Person setScore(int score) {
this.score = score;
return this;
}
public String getGender() {
return gender;
}
public Person setGender(String gender) {
this.gender = gender;
return this;
}
public Person(String name, int age, int score, String gender) {
this.name = name;
this.age = age;
this.score = score;
this.gender = gender;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
", score='" + score + '\'' +
'}';
}
public Person() {
}
@Override
public int compareTo(Person o) {
return this.getScore() - o.getScore();
}
}
Data:数据源
package com.dhh.data;
import java.util.ArrayList;
import java.util.List;
//数据源
public class Data {
public static List<Person> getData() {
List<Person> personList = new ArrayList<>();
personList.add(new Person("小明", 12, 90, "男"));
personList.add(new Person("小华", 13, 80, "女"));
personList.add(new Person("小丁", 15, 85, "男"));
personList.add(new Person("小李", 17, 40, "女"));
personList.add(new Person("小毛", 18, 70, "男"));
personList.add(new Person("小宁", 12, 60, "女"));
//验证流操作会不会出现NPE异常
Person null1 = new Person().setAge(12).setGender("女");
Person null2 = n