Это мой несортированный массив:Сортировка массива по наибольшему количеству
P B A
1 135 0
2 102 100
3 56 100
4 148 0
5 125 200
6 65 200
Это то, что мой текущий массив имеет после того как я отсортирован его это выход я получаю
P B A
1 135 0
4 148 0
3 56 100
2 102 100
6 65 200
5 125 200
Я хочу, чтобы мой массив сортировать B
по наибольшему числу в зависимости A
как этот пример.
P B A
4 148 0
1 135 0
2 102 100
3 56 100
5 125 200
6 65 200
Это в настоящее время мой код:
Arrays.sort(x, new Comparator<int[]>() {
public int compare(int[] o1, int[] o2) {
int ret = Integer.compare(o1[2], o2[2]);
// if the entries are equal at index 2, compare index 1
if (0 == ret) {
ret = Integer.compare(o1[1], o2[1]);
}
return (ret);
}
});
Почему так неэффективно? просто замените 'o1 [1]' на 'o2 [1]'. такой же результат, никаких дополнительных операций. я знаю, это арахисы, но все же – Paul
Возможно, вы правы, но, на мой взгляд, эту вещь гораздо проще пропустить, чем оператор '-' при чтении кода. И, честно говоря, должен быть отличный класс для тех записей данных, которые реализуют 'Comparable'. – gvlasov