以下是按两个项目对一维数组进行排序的示例代码:
import java.util.Arrays;
import java.util.Comparator;
public class SortArrayByTwoItems {
public static void main(String[] args) {
// 创建示例数组
int[][] array = {{1, 5}, {3, 2}, {2, 4}, {1, 2}, {3, 1}};
// 调用排序方法
sortArrayByTwoItems(array);
// 打印排序后的数组
for (int[] item : array) {
System.out.println(Arrays.toString(item));
}
}
public static void sortArrayByTwoItems(int[][] array) {
// 使用Comparator自定义排序规则
Arrays.sort(array, new Comparator() {
@Override
public int compare(int[] o1, int[] o2) {
// 按第一个项目排序,如果相等则按第二个项目排序
if (o1[0] != o2[0]) {
return o1[0] - o2[0];
} else {
return o1[1] - o2[1];
}
}
});
}
}
以上代码中,我们使用了Arrays.sort
方法进行排序,并通过自定义的Comparator
实现了按两个项目对一维数组进行排序。在compare
方法中,我们先比较第一个项目的值,如果不相等则返回差值,如果相等则比较第二个项目的值并返回差值。这样就可以实现按两个项目对一维数组进行排序。
上一篇:按两个条件排序