一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java比較器comparator使用示例分享

java比較器comparator使用示例分享

2019-11-13 12:47java教程網 JAVA教程

這篇文章主要介紹了java比較器comparator使用示例,需要的朋友可以參考下

代碼如下:


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;
    }
}

 

輸出:

復制代碼代碼如下:


30:aad
10:abc
10:bdc
5:bdd

 

java的比較器很有用,實現Comparator接口的compare()這個回調方法來制定排序規則,然后調用Collections.sort(list, new ComparatorTest());就可以將List進行排序,很方便

使用時要注意compare()方法中的return的先后順序,優先的排序規則要寫在前面

實體類:

 

復制代碼代碼如下:


/**
 * 學生實體類
 * 
 */
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;
    }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品国产AV成人毛片 | 爆操女友 | 亚洲AV无码专区国产精品麻豆 | 99re在线精品视频免费 | 亚洲欧美另类第一页 | 成人免费视频一区二区三区 | 波多野结衣中文字幕 | japanese厕所撒尿| 人人斗地主 | 嫩草视频在线观看视频播放 | 激情三级做爰在线观看激情 | 天天中文 | 久久国产乱子伦免费精品 | 日韩成人在线视频 | 欧美成人福利视频 | 嫩草影院国产 | 国产在线观看一区 | 操极品女神 | 91短视频社区在线观看 | 日韩一级欧美一级一级国产 | 91短视频在线播放 | 91麻豆精品 | 国语刺激对白勾搭视频在线观看 | 97影视| 国产日韩欧美成人 | 国产在线步兵一区二区三区 | 不卡视频一区二区 | 俄罗斯一级淫片bbbb | 国产精品视频第一区二区三区 | 日本免费一区二区三区a区 日本免费三片在线观看 | 日本三级欧美三级人妇英文 | 精品欧美一区二区在线观看欧美熟 | 成人影院vs一区二区 | 和肥岳在厨房激情 | 毛茸茸的大逼 | 九9热这里真品 | 国产亚洲精品自在线亚洲情侣 | 久久精品99国产精品日本 | 欧美一区二区视频 | 99超级碰碰成人香蕉网 | 99ri国产在线|