我们经常在工作中会碰到这种情况:让我将对象结合中的对象按照对象的某个属性的值进行操作,然后根据值对集合中的对象进行分组。
这种情况听上去不是很难,但是在做起来的时候就会很麻烦。对不清楚Java8新特性的朋友来说,你可能会遍历数组对对象属性进行操作判断,然后在创建几个List对象去存储分组后的对象,这可能需要十几行代码。
然而今天,我们来学习一下Java8的其中一个新特性:集合的流式编程,让这种操作只要几行代码搞定。
一. 准备阶段
1.准备好一个实体类
public class Person{
private Integer age;
private String name;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
2.准备好一个集合
ArrayList<Person> people = new ArrayList<>();
for (int i = 1; i <= 100; i++) {
Person person = new Person(