当前位置:   article > 正文

Java 用sort对二维数组进行排序_java二维数组排序

java二维数组排序

目录

一、简介

二、3种排序方式

运行结果

一下是上述三种方法以数组第一列为数据进行排序的运行结果​编辑


一、简介

用Arrays.sort()对一维数组进行快排相信大家一定不陌生,但对今天给大家分享一下sort对二维数组的3种排序方式

二、3种排序方式

(1)重写compare()方法

  1. import java.util.Arrays;
  2. import java.util.Comparator;
  3. public class test {
  4. public static void main(String[] args) {
  5. int[][] arr = {{1,5},{5,3},{3,34},{2,4}};
  6. Arrays.sort(arr, new Comparator<int[]>() {
  7. @Override
  8. public int compare(int[] o1, int[] o2) {
  9. return o1[0] - o2[0];//数组里面的下标为0,表示排序根据数组的第一列排序
  10. }
  11. });
  12. for (int[] arrs:arr){
  13. for (int n:arrs){
  14. System.out.print(n+" ");
  15. }
  16. System.out.println();
  17. }
  18. }
  19. }

(2)使用Lambda表达式的方式对Comparator比较器进行简写(JDK1.8以上可用Lambda表达式)

  1. import java.util.Arrays;
  2. import java.util.Comparator;
  3. public class test {
  4. public static void main(String[] args) {
  5. int[][] arr = {{1,5},{5,3},{3,34},{2,4}};
  6. Arrays.sort(arr,((o1, o2) -> {
  7. return o1[0]-o2[0];
  8. }));
  9. for (int[] arrs:arr){
  10. for (int n:arrs){
  11. System.out.print(n+" ");
  12. }
  13. System.out.println();
  14. }
  15. }
  16. }

(3)用comparingInt(a->a[index])排序

二维数组会根据第index+1(index=1或index=0)的数据进行排序

  1. import java.util.Arrays;
  2. import java.util.Comparator;
  3. public class test {
  4. public static void main(String[] args) {
  5. int[][] arr = {{1,5},{5,3},{3,34},{2,4}};
  6. Arrays.sort(arr,Comparator.comparingInt(a->a[0]));//根据二维数组的第一列数据进行比较
  7. for (int[] arrs:arr){
  8. for (int n:arrs){
  9. System.out.print(n+" ");
  10. }
  11. System.out.println();
  12. }
  13. }
  14. }

运行结果


一下是上述三种方法以数组第一列为数据进行排序的运行结果

 根据第二列数据进行排序

  1. import java.util.Arrays;
  2. import java.util.Comparator;
  3. public class test {
  4. public static void main(String[] args) {
  5. int[][] arr = {{1,5},{5,3},{3,34},{2,4}};
  6. Arrays.sort(arr,((o1, o2) -> {
  7. return o1[1]-o2[1];
  8. }));
  9. for (int[] arrs:arr){
  10. for (int n:arrs){
  11. System.out.print(n+" ");
  12. }
  13. System.out.println();
  14. }
  15. }
  16. }
运行结果

 


                
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/413921
推荐阅读
相关标签
  

闽ICP备14008679号