【发布时间】:2021-01-20 22:20:33
【问题描述】:
我正在努力研究如何使用 Java 流从对象值等于 x 的自定义对象列表中收集自定义对象。
考虑我有以下课程:
public class Person {
private int age;
private double height;
public Person(int age, double height) {
this.age= age;
this.height = height;
}
public int getAge() {
return age;
}
public double getHeight() {
return height;
}
}
然后考虑具有这些对象的填充列表,例如List<Person> people.
我的问题是,如何使用流创建一个新的List<Person>,它只包含初始列表中年龄为 35 岁的人员对象?
到目前为止,我有以下内容:
List<Person> peopleAged35 = new ArrayList<>();
peopleAged35.add(people.stream().filter(i -> i.getAge() == 35).map(new Person).collect(Collectors.toList()));
这不会编译,但我认为我离得不远 - 谁能指出我哪里出错了?
【问题讨论】:
标签: java java-8 java-stream