我有一份清单:
LinkedList<Student> student = new LinkedList<Student>();
在Student类中,它有一个属性字符串名。我想按学生的名字对名单进行排序。有什么办法我能做到吗?
发布于 2018-08-07 05:25:28
简单地说你可以用这个
student.sort(Comparator.comparing(Student:: getName));//Single Sorting
student.sort(Comparator.comparing(Student:: getName).reversed());//Single reverse Sorting
student.sort(Comparator.comparing(Student:: getName).thenComparing(Student::getScore));//Double
发布于 2018-08-07 05:20:11
student.sort(Comparator.comparing(Student::getName));
阅读更多关于比较器的信息。
发布于 2018-08-07 05:00:47
您可以定义一个比较器来完成此操作。一种简单的方法是使用匿名类。https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html
Collections.sort(student, new Comparator<Student>() {
public int compare(Student a, Student b) {
return a.getName().compare(b.getName());
}
};
https://stackoverflow.com/questions/51719030
复制相似问题