对象list根据对象的某个字段或多个字段排序

对象list根据对象的某个字段或多个字段排序的几种方法

1、根据成绩排序
 list.sort((x,y)->Float.compare(y.getScore(),x.getScore()));//倒序
 list.sort((x,y)->Float.compare(x.getScore(),y.getScore()));//正序
2、根据年龄排序
list.sort(Comparator.comparing(Student::getAge).reversed());//倒序
list.sort(Comparator.comparing(Student::getAge);//正序
3、根据年级排序
list.stream().sorted(Comparator.comparing(Student::getGrade).reversed()).collect(Collectors.toList());//倒序
list.stream().sorted(Comparator.comparing(Student::getGrade)).collect(Collectors.toList());//正序
4、先根据年级升序排序,再根据分数降序排序
list.stream().sorted(Comparator.comparing(Student::getGrade).thenComparing(Comparator.comparing(Student::getScore).reversed())).collect(Collectors.toList());

版权声明:本文为weixin_54811243原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。