📑前言
本文主要是【java】——java自定义排序Comparator的文章,如果有什么需要改进的地方还请大佬指出⛺️
🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见
目录
- 📑前言
- java多关键字排序
- 📑文章末尾
java多关键字排序
-
按成绩从大到小排序,如果成绩相同,按照java分数高低排序
package practice;import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List;public class 多关键字排序 {public static void main(String[] args) {// TODO Auto-generated method stubList<Student> list = new ArrayList<Student>();list.add(new Student("张三", 100, 59));list.add(new Student("李四", 100, 100));list.add(new Student("王五", 98, 96));list.add(new Student("赵六", 96, 98));list.add(new Student("陈七", 59, 100));Collections.sort(list,new Comparator<Student>() {@Overridepublic int compare(Student o1, Student o2) {// TODO Auto-generated method stub//o1在前,o2在后,-1表示不换,1表示换if(o1.score>o2.score) return o2.score-o1.score;// <0else if(o1.score<o2.score) return o2.score-o1.score;// >0else {if(o1.java<o2.java) return o1.java-o2.java;}return 0;}});for(Student i:list) {System.out.println(i.toString());}}}class Student{public Student(String stuname,int java,int mysql) {this.stuname = stuname;this.java = java;this.mysql = mysql;this.score = java+mysql;}String stuname;int java;int mysql;int score;//打印对象的时候,默认调用toString()public String toString() {return this.stuname+" "+this.java+" "+this.mysql+" "+this.score;}}
-
打印结果
李四 100 100 200 赵六 96 98 194 王五 98 96 194 陈七 59 100 159 张三 100 59 159