ArrayList.sort()方法

时间:2018-01-31 00:49:32

标签: java

我有一个填充了Integer对象的数组,我希望通过内置的ArrayList排序方法进行排序。我不希望通过Collection.sort这样做。我是否必须实现比较器方法然后传递给sort方法?

2 个答案:

答案 0 :(得分:0)

这是java 8的方法。

Window and Rank

答案 1 :(得分:0)

ArrayList.sort方法确实采用了一个可用于指定排序标准的比较器,但如documentation page所述,传递null比较器也是有效的:

  

如果指定的比较器为null,则此列表中的所有元素必须实现Comparable接口和元素'应该使用自然排序。

正如您从Integer documentationInteger实现Comparable<Integer>所看到的那样,它具有自然顺序。

所以要对ArrayList<Integer>进行排序,你可以这样做:

ArrayList<Integer> arr = new ArrayList<>();
...
arr.sort(null); // Null comparator forces sort by natural ordering

Demo here