二维数组排序

Arrays.sort(intervals, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
               //按照数组的第一个元素进行升序,如果第一个元素相同则按照第二个元素进行升序
                if (o1[0]==o2[0]){
                    return o1[1]-o2[1];
                }else{
                    return o1[0]-o2[0];
                }
            }
        });

更新:对于重写排序方法,comparator里再也不要直接返回两个数相减了,避免出现int溢出的问题。

  Arrays.sort(points, new Comparator<int[]>() {
              @Override
              public int compare(int[] point1, int[] point2) {
                  if (point1[1] > point2[1]) {
                      return 1;
                  } else if (point1[1] < point2[1]) {
                      return -1;
                  } else {
                      return 0;
                  }
              }
          });
posted on 2020-12-25 21:58  LuckyJane  阅读(223)  评论(0)    收藏  举报