У меня есть двумерный массив двойников, и я пытаюсь сортировать массив на основе второго столбца. Пытаюсь ответ, отправленный Costi Ciudatu here, но я получаю следующее сообщение об ошибке:Сортировка 2-мерного массива в Java на основе второго столбца
The method sort(T[], Comparator) in the type Arrays is not applicable for the arguments (double[][], ArrayComparator)
Как я могу исправить это?
Мой код до сих пор:
import java.util.Comparator;
class ArrayComparator implements Comparator<Comparable[]> {
private final int columnToSort;
private final boolean ascending;
public ArrayComparator(int columnToSort, boolean ascending) {
this.columnToSort = columnToSort;
this.ascending = ascending;
}
public int compare(Comparable[] c1, Comparable[] c2) {
int cmp = c1[columnToSort].compareTo(c2[columnToSort]);
return ascending ? cmp : -cmp;
}
}
и
import java.util.Arrays;
import java.util.Comparator;
public class Convex {
public static void mysort(double points[][], int n){
Arrays.sort(points, new ArrayComparator(1, true));
}
}
Не могли бы вы высказать свой код? Я подозреваю, что ArrayComparator не реализует интерфейс Comparator. –
1. Лучше всего показать свой уместный код, лучше всего как [mcve], иначе как мы узнаем, что вы делаете неправильно? Как мы сможем помочь вам решить вашу проблему? 2. Рассмотрим использование одномерного массива или Список объектов пользовательского класса, а не использование 2D-массива. –
Я просто добавил код – danielpanatha