Arrays.sort()方法的功能是将数组里的元素按从小到大的顺序排序吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arrays.sort()方法的功能是将数组里的元素按从小到大的顺序排序吗?相关的知识,希望对你有一定的参考价值。
对于单独这个方法中int来说 确实从小到大排序。
对于学生类来说,里面储存多个属性,如有学号和年龄。要求先按年龄排序,如果年龄相同按学号排 就要用到 Arrays.sort()方法与compareable接口一起用来发挥作用·
是的 从小到大排序。 参考技术B 是从大到小排序
如何使用Arrays.sort()对二维数组排序
直接上代码:
按照第一维排序:
public static void main(String[] args){ int[][] nums=new int[][]{{1,3},{1,2},{4,5},{3,7}}; //方法一 Arrays.sort(nums,new Comparator<int[]>(){ public int compare(int[] a,int[] b){ if(a[0]==b[0]){ return a[1]-b[1]; }else{ return a[0]-b[0]; } } }); //方法二 /*Arrays.sort(nums,(a,b)->a[0]-b[0]);*/ for (int[] num : nums) { System.out.println(Arrays.toString(num)); } }
结果:
[1, 2] [1, 3] [3, 7] [4, 5]
按照第二维排序:
public static void main(String[] args){ int[][] nums=new int[][]{{1,3},{1,2},{4,5},{3,7}}; //方法一 Arrays.sort(nums,new Comparator<int[]>(){ public int compare(int[] a,int[] b){ if(a[1]==b[1]){ return a[0]-b[0]; }else{ return a[1]-b[1]; } } }); //方法二 /*Arrays.sort(nums,(a,b)->a[1]-b[1]);*/ for (int[] num : nums) { System.out.println(Arrays.toString(num)); } }
结果:
[1, 2] [1, 3] [4, 5] [3, 7]
以上是关于Arrays.sort()方法的功能是将数组里的元素按从小到大的顺序排序吗?的主要内容,如果未能解决你的问题,请参考以下文章
Java中对数组升序排列用Arrays.sort( )方法,那降序排列用啥方法?
关于JAVA数组,Arrays为啥直接可以使用sort方法不用建对象