Collections.sort的使用

Posted hiyashinsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collections.sort的使用相关的知识,希望对你有一定的参考价值。

需要对象是可比较的。

import java.util.*;

public class Test {

    public static void main(String[] args) {
        ArrayList<Fruit> list = new ArrayList<>();
        list.add(new Fruit(4));
        list.add(new Fruit(1));
        list.add(new Fruit(7));
        Collections.sort(list);
        System.out.println(list);
    }
}

class Apple extends Fruit{

}

class Fruit implements Comparable<Fruit>{
    public int x;
    public int compareTo(Fruit f) {
//        return f.x - x;
        return x - f.x;
    }
    public Fruit(int x) {
        this.x = x;
    }
    public Fruit(){
        x = 0;
    }
    @Override
    public String toString() {
        return "fruit: " + x;
    }
}

思考几个问题?

  • Fruit类为什么要有一个无参构造方法?
  • Fruit类为什么要重写toString方法?
  • 降序排列怎么写?

以上是关于Collections.sort的使用的主要内容,如果未能解决你的问题,请参考以下文章

jdk8 Collections#sort究竟做了什么

Collections.sort 具有多个字段

Collections.sort()用法简单介绍

为啥 Collections.sort 使用合并排序而不是快速排序?

Collections.sort 使用啥设计模式?

java中排序函数sort()使用,Arrays.sort()和Collections.sort()