之前给大家带来过Java sort()数组排序升序的相关内容,那么下面的文章要继续给大家讲到的就是Java sort()数组排序降序方面的知识,一起来了解一下吧。
在Java语言当中,使用sort实现降序有以下两种方法:
1、利用Collections.reverseOrder()方法(对此大家可以去了解一下Java Collections类)。
public static void main(String[] args) { Integer[] a = { 9 , 8 , 7 , 2 , 3 , 4 , 1 , 0 , 6 , 5 }; // 数组类型为Integer Arrays.sort(a, Collections.reverseOrder()); for (int arr: a) { System.out.print(arr + " "); } }
输出结果:
9 8 7 6 5 4 3 2 1 0
2、实现Comparator接口的复写compare()方法:
public class Test { public static void main(String[] args) { /* * 注意,要想改变默认的排列顺序,不能使用基本类型(int,double,char)而要使用它们对应的类 */ Integer[] a = { 9 , 8 , 7 , 2 , 3 , 4 , 1 , 0 , 6 , 5 }; // 定义一个自定义类MyComparator的对象 Comparator cmp = new MyComparator(); Arrays.sort(a, cmp); for (int arr: a) { System.out.print(arr + " "); } } } // 实现Comparator接口 class MyComparator implements Comparator < Integer > { @Override public int compare(Integer o1, Integer o2) { /* * 如果o1小于o2,我们就返回正值,如果o1大于o2我们就返回负值, 这样颠倒一下,就可以实现降序排序了,反之即可自定义升序排序了 */ return o2 - o1; } }
输出结果:
9 8 7 6 5 4 3 2 1 0
这里的话要注意一下了,使用上面的两种方法的时候,数组必须是包装类型,不然的话编译不通过。
以上就是关于Java sort()数组排序降序的相关知识介绍了,希望可以对你有帮助,更多数组java入门知识,请继续关注奇Q工具网来进行了解吧。
推荐阅读: