集合-Java中Arrays.sort()自定义数组的升序和降序排序
Posted Andrew_F
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合-Java中Arrays.sort()自定义数组的升序和降序排序相关的知识,希望对你有一定的参考价值。
默认升序
package peng; import java.util.Arrays; public class Testexample { public static void main(String[] args) { int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5}; Arrays.sort(a); for(int arr:a) { System.out.print(arr + " "); } } }
自定义 利用Collections.reverseOrder()方法:
package peng; import java.util.Arrays; import java.util.Collections; public class Testexample { public static void main(String[] args) { integer[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5}; Arrays.sort(a,Collections.reverseOrder()); for(int arr:a) { System.out.print(arr + " "); } } }
实现Comparator接口的复写compare()方法,代码如下:
package peng; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; public class Testexample { 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; } }
以上是关于集合-Java中Arrays.sort()自定义数组的升序和降序排序的主要内容,如果未能解决你的问题,请参考以下文章