源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java比较器comparator使用示例分享

  • 时间:2020-09-07 13:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java比较器comparator使用示例分享
[u]复制代码[/u] 代码如下:
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class ComparatorTest implements Comparator<stuEntity> {     /**      * @param args      */     public static void main(String[] args) {         List<stuEntity> list = new ArrayList<stuEntity>();         stuEntity stud1=new stuEntity();         stud1.setAge(10);         stud1.setName("abc");         stuEntity stud2=new stuEntity();         stud2.setAge(10);         stud2.setName("bdc");         stuEntity stud3=new stuEntity();         stud3.setAge(5);         stud3.setName("bdd");         stuEntity stud4=new stuEntity();         stud4.setAge(30);         stud4.setName("aad");         list.add(stud1);         list.add(stud2);         list.add(stud3);         list.add(stud4);         Collections.sort(list, new ComparatorTest());         for(stuEntity stud:list){             System.out.println(stud.getAge()+":"+stud.getName());         }     } /**  *  */     @Override     public int compare(stuEntity stud1, stuEntity stud2) {         //根据姓名排序         int maxname=stud1.getName().compareTo(stud2.getName());         if(maxname!=0)             return maxname;         //根据年龄排序         int maxage=stud1.getAge()-stud2.getAge();         //if(maxage!=0)             return maxage;     } }
输出:
[u]复制代码[/u] 代码如下:
30:aad 10:abc 10:bdc 5:bdd
java的比较器很有用,实现Comparator接口的compare()这个回调方法来制定排序规则,然后调用Collections.sort(list, new ComparatorTest());就可以将List进行排序,很方便 使用时要注意compare()方法中的return的先后顺序,优先的排序规则要写在前面 实体类:
[u]复制代码[/u] 代码如下:
/**  * 学生实体类  *  */ public class stuEntity {     private int studentId;// 学号     private String name;     private int age;     private String sex;// 性别     private int roomNumber;// 房间号     private String degree;//学位     private int grade;//年级     private String deviceNumber;// 设备号     private int groupNumber;// 所属的小组     private int javaScore;// java成绩     private int netScore;// NET成绩     public String getDegree() {         return degree;     }     public void setDegree(String degree) {         this.degree = degree;     }     public int getGrade() {         return grade;     }     public void setGrade(int grade) {         this.grade = grade;     }       /**      * 初始化有参构造函数      *      * @param id      * @param name      * @param age      * @param sex      * @param roomNumber      * @param deviceNumber      * @param groupNumber      * @param javaScore      * @param netScore      */     public stuEntity(String name, int age, String sex, int roomNumber,             String deviceNumber, int groupNumber, int javaScore, int netScore) {         this.name = name;         this.age = age;         this.sex = sex;         this.roomNumber = roomNumber;         this.deviceNumber = deviceNumber;         this.groupNumber = groupNumber;         this.javaScore = javaScore;         this.netScore = netScore;     }     /**      * 无参构造函数      */     public stuEntity() {     }     public int getJavaScore() {         return javaScore;     }     public void setJavaScore(int javaScore) {         this.javaScore = javaScore;     }     public int getNetScore() {         return netScore;     }     public void setNetScore(int netScore) {         this.netScore = netScore;     }         public int getStudentId() {         return studentId;     }     public void setStudentId(int studentId) {         this.studentId = studentId;     }     public String getName() {         return name;     }     public void setName(String name) {         this.name = name;     }     public int getAge() {         return age;     }     public void setAge(int age) {         this.age = age;     }     public String getSex() {         return sex;     }     public void setSex(String sex) {         this.sex = sex;     }     public int getRoomNumber() {         return roomNumber;     }     public void setRoomNumber(int roomNumber) {         this.roomNumber = roomNumber;     }     public String getDeviceNumber() {         return deviceNumber;     }     public void setDeviceNumber(String deviceNumber) {         this.deviceNumber = deviceNumber;     }     public int getGroupNumber() {         return groupNumber;     }     public void setGroupNumber(int groupNumber) {         this.groupNumber = groupNumber;     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部