【发布时间】:2020-01-01 12:47:29
【问题描述】:
我目前正在尝试学习 Java 中的流,但是我偶然发现了一个我自己无法解决的问题。给定一个 Person 对象列表,其中包含年龄、身高和姓名属性。我想写一个方法toString(),它按高度对列表进行排序,以防高度按年龄相等(一切都按降序排列)。有没有可能用流来解决这个问题?我知道如何按高度对列表进行排序,但是我不明白如何获得相等的元素(具有相同高度的人)并按年龄对它们进行排序。
班级Person:
public class Person {
private int age;
private double height;
private String name;
public Person(int age, double height, String name){
this.age = age;
this.height = height;
this.name = name;
}
public int getAge() {
return age;
}
public double getHeight() {
return height;
}
public String getName() {
return name;
}
}
Data 类(创建 toString 方法的地方):
public class Data {
private List<Person> persons;
public Data(List<Person> persons){
this.persons = persons;
}
public String toString(){
//sort the list (persons) and return a String of names
return "";
}
}
【问题讨论】:
标签: java java-8 java-stream