private static void testSort() {
Student 张三 = new Student("张三", 90, null);
Student 李四 = new Student("李四", 90, null);
Student 王五 = new Student("王五", 90, null);
Student 赵六 = new Student("赵六", 80, null);
Student 田七 = new Student("田七", 90, null);
Student 王八 = new Student("王八", 78, null);
List<Student> list = new ArrayList<>();
list.add(张三);
list.add(李四);
list.add(王五);
list.add(赵六);
list.add(田七);
list.add(王八);
List<Student> listSort = list.stream().sorted(Comparator.comparing(Student::getScore).reversed())
.collect(Collectors.toList());
for (int i = 0; i < listSort.size(); i++) {
if (i == 0) {
listSort.get(i).setRanking(i + 1);
} else {
if (listSort.get(i).getScore() == listSort.get(i - 1).getScore()) {
listSort.get(i).setRanking(listSort.get(i - 1).getRanking());
} else {
listSort.get(i).setRanking(i + 1);
}
}
}
listSort.forEach(System.out::println);
}
排序并计算每个学生的名次
最新推荐文章于 2021-07-21 20:24:50 发布