定製排序和比較器排序
定製排序和比較器排序
案例1:二維陣列排序(n行m列,按照某列或者某幾列進行排序)
1.1按照二維陣列的第一和第二列
public static void main(String[] args) {
int n = 10, m = 3;
int[][] arr = new int[n][m];
Random rand = new Random();
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
arr[i][j] = rand.nextInt(5);
}
}
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
System.out.print(arr[i][j] + ",");
}
System.out.println();
}
System.out.println("----我是分割線----");
Arrays.sort(arr, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if(o1[0] == o2[0]){
return o1[1] - o2[1];
}
return o1[0] - o2[0];
}
});
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
System.out.print(arr[i][j] + ",");
}
System.out.println();
}
}
結果如下:
3,2,3,
2,4,1,
3,2,0,
4,0,1,
0,0,3,
0,3,1,
4,4,3,
4,3,1,
2,0,4,
1,1,0,
----我是分割線----
0,0,3,
0,3,1,
1,1,0,
2,0,4,
2,4,1,
3,2,3,
3,2,0,
4,0,1,
4,3,1,
4,4,3,
相關文章
- 堆排序和快速排序效能比較排序
- 氣泡排序、歸併排序與快速排序比較排序
- Java Comparable排序介面和Comparator比較器介面Java排序
- Java 8 比較器:如何對 List 排序Java排序
- 學習筆記--- 比較排序之堆排序筆記排序
- 幾種排序的比較排序
- ***PHP陣列排序+php二維陣列排序方法(PHP比較器)PHP陣列排序
- 排序(3)--各類排序演算法的比較排序演算法
- 圖形化排序演算法比較:快速排序、插入排序、選擇排序、氣泡排序排序演算法
- 排序演算法效能比較排序演算法
- 氣泡排序、快速排序(遞迴&非遞迴)、堆排序演算法比較淺析排序遞迴演算法
- 三種高階比較排序演算法排序演算法
- 利用compareTo方法進行字串比較排序字串排序
- 常用的比較排序演算法總結排序演算法
- Js比較對Object型別進行排序JSObject型別排序
- Java排序演算法速度比較(轉載)Java排序演算法
- 對c語言系統庫函式、堆排序、希爾排序、折半插入排序、快速排序消耗時間的比較C語言函式排序
- 【演算法】6 比較排序之外學習新的線性時間排序演算法排序
- 5種排序演算法效能比較總結排序演算法
- 《演算法筆記》4. 堆與堆排序、比較器詳解演算法筆記排序
- 排序(1)--插入排序和交換排序排序
- 【資料結構與演算法】非比較排序(計數排序、桶排序、基數排序)資料結構演算法排序
- 排序(2)--選擇排序,歸併排序和基數排序排序
- 非交換排序-計數排序和桶排序排序
- 計數排序、桶排序和基數排序排序
- 11.經典O(n²)比較型排序演算法排序演算法
- 各大排序演算法效能比較及演示例項排序演算法
- 選擇排序和快速排序排序
- 桶排序和基數排序排序
- 定時器-輸出比較PWM定時器
- java排序方式對比Java排序
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- 排序演算法 - 快速插入排序和希爾排序排序演算法
- 什麼是泛型?,Set集合,TreeSet集合自然排序和比較器排序,資料結構-二叉樹,資料結構-平衡二叉樹泛型排序資料結構二叉樹
- 選擇排序和氣泡排序排序
- 歸併排序和基數排序排序
- 氣泡排序和選擇排序排序
- 選擇排序和插入排序排序