美文网首页
如何为对象进行排序

如何为对象进行排序

作者: 6cc89d7ec09f | 来源:发表于2018-10-14 19:39 被阅读63次

    方法很简单
    第一步:对象需要实现 Comparable
    第二部:需要重写 compareTo方法
    直接上代码

    public class Student implements Comparable<Student> {
    
        private String name;
        private int score;
    
        public Student(String name, int score){
            this.name = name;
            this.score = score;
        }
    
        // 定义Student的compareTo函数
        // 如果分数相等,则按照名字的字母序排序
        // 如果分数不等,则分数高的靠前
        @Override
        public int compareTo(Student that) {
    
            if( this.score < that.score )
                return -1;
            else if( this.score > that.score )
                return 1;
            else // this.score == that.score
                return this.name.compareTo(that.name);
        }
    
        // 定义Student实例的打印输出方式
        @Override
        public String toString() {
            return "Student: " + this.name + " " + Integer.toString( this.score );
        }
    }
    
    

    先按照学生的成绩 score进行排序,再按照名字进行排序

    public static void main(String[] args) {
            Student[] d = new Student[4];
            d[0] = new Student("D",90);
            d[1] = new Student("C",100);
            d[2] = new Student("B",95);
            d[3] = new Student("A",95);
            SortEnum.SELECTSORT.sort(d);
            for( int i = 0 ; i < d.length ; i ++ )
                System.out.println(d[i]);
        }
    

    结果


    image.png

    相关文章

      网友评论

          本文标题:如何为对象进行排序

          本文链接:https://www.haomeiwen.com/subject/ojstzftx.html