根据成绩进行升序,并输出“姓名:分数”
public class Test {
/**
* 根据成绩进行升序,并输出“姓名:分数”
* @param args
*/
public static void main(String[] args) {
List<Person> personList = new ArrayList<Person>(){
{
add(new Person("张三", 90));
add(new Person("李四", 66));
add(new Person("王五", 75));
}
};
personList = personList.stream().sorted(Comparator.comparing(Person::getScore))
.collect(Collectors.toList());
for (int i = 0; i < personList.size(); i++) {
System.out.println(personList.get(i).getName()+":"+personList.get(i).getScore());
}
}
}
class Person implements Comparable<Person>{
private String name;
private int score;
public Person(String name,int score) {
this.name=name;
this.score=score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public int compareTo(Person p) {
return p.score - this.getScore();
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", score=" + score +
'}';
}
}
运行结果: