Arrays.sort
场景如下
也就是说我们的数组是一个n×3的形式
-
例如{{1,3,4},{4,6,2},{3,6,8},{3,4,3}}
package com.mystep.step.demo1;
import java.util.Arrays;
import java.util.Random;
/**
* @author step
* @date 2021年08月12日 19:26
*/
public class Demo {
public static void main(String[] args) {
Demo demo = new Demo();
int n=20;
int [][] data = new int[n][3];
Random random=new Random();
for (int i=0;i<n;i++){
data[i][0]=random.nextInt(20);
data[i][1]=random.nextInt(20);
data[i][2]=random.nextInt(20);
}
demo.test(data);
for (int[] d:data){
System.out.println(Arrays.toString(d));
}
}
//排序方法
void test(int [][] data){
Arrays.sort(data,((o1,o2) ->{
if (o1[0]==o2[0]){
if (o1[1]==o2[1]){
return o2[2]-o1[2];
}
return o2[1]-o1[1];
}
return o2[0]-o1[0];
}));
}
}