java compare排序,java comparator排序顺序
需求:树集集合用于存储多个学生信息(姓名、语文成绩、数学成绩)并遍历集合;按总分从高到低排序。
分析:
1.创建学生成员的变量名、语文成绩、数学成绩;方法计算成员总分;方法该结构有参数结构和无参数结构。获取设置方法2。创建一个测试类3。创建一个TreeSet set pair对象,并使用内部类重写compare方法。主要条件要按照总分从上到下排序。如果总分相同,则按语言成绩排序。如果两者相同,判断名字是否相同。如果它们相同,则不会被存储。如果不一样,就按名字字母排序。
4.创建学生对象,并使用参数构造添加学生数据。5.使用Add方法将学生数据添加到树集中。6.穿越代码实现:.
Student类
class student {//成员变量私有字符串名称;private int YWscoreprivate int YYscore//构造方法public student(){ } public student(string name,intywscore,intyy score){ this . name=name;这个。YWscore=YWscore这个。YYscore=YYscore} //get/set方法publicstringgetname(){ return name;} public void set name(String name){ this . name=name;} public int getyw score(){ return yw score;} public void setyw score(int yw score){ this。YWscore=YWscore} public int getyy score(){ return YY score;} public void setyy score(int YY score){ this。YYscore=YYscore}//定义总分方法public int getsum(){ int sum=yw score YY score;返回总和;} }测试类
class Student demo { public static void main(string[]args){//Create TreeSet collection object TreeSet udents=new TreeSet Student(new comparator Student()){ @ Override public int compare(Student S1,Student S2){//return 0;int num=S2 . getsum()-S1 . getsum();//要从上到下排序int num1=num==0吗?S1 . getyw score()-S2 . getyw score(): num;//总分相同时,按语文成绩排序。int num2=num1==0?s1.getName()。compare to(S2 . getname()): num 1;返回num2} });//创建学生对象Student s1=new Student(张三,56,66);学生s2=新生(张思,70,69);学生s3=新生(张武,80,76);学生s4=新生(‘刘璋’,66,96);学生s5=新生(张琦,66,96);ts . add(S5);ts . add(S1);ts . add(S2);ts . add(S3);ts . add(S4);//遍历for(students 3360 ts){ system . out . println(ss . getname(), ss.getywscore(), ss.getyyscore(), ss . getsum());}}}就这样。本文介绍了使用比较器对结果进行排序的Java案例。有关comparer to sort结果的更多信息,请搜索以前关于popular IT的文章或继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。