1. 程式人生 > 實用技巧 >二位陣列排序

二位陣列排序

  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;
                  }
              }
          });