覆盖集合排序

时间:2017-03-29 22:06:18

标签: java sorting collections override

Collections.sort(intervals, new Comparator<Interval>(){
    @Override
    public int compare(Interval obj0, Interval obj1) {
        return obj0.start - obj1.start;
    }
});

为什么覆盖此比较函数可以使Collections.sort方法有效? 谢谢。

1 个答案:

答案 0 :(得分:0)

  

为什么覆盖此比较函数可以使Collections.sort()方法   作品?

Collections.sort(list)仅适用于实施Comparable的类,例如类似IntegerString等等。

现在,假设你有class Apple,如下所示:

public class Apple {

    private int weight;

    private String name;

    private String countryOfOrigin;

   //getters and setters

}

因此,现在假设您要比较Apple类型的对象,但Collections.sort()如何知道您要通过weightname或其他内容进行比较。那么,您可以定义Comparator(或Comparable)对象来告诉我想要按重量或名称等进行比较。