需要对象是可比较的。
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;}@Overridepublic String toString() {return "fruit: " + x;} }
思考几个问题?
- Fruit类为什么要有一个无参构造方法?
- Fruit类为什么要重写toString方法?
- 降序排列怎么写?