Я пытаюсь сортировать массив (ads
, типа ETstrain
) одной из переменных экземпляра (distancefrom
). Как я могу это сделать? Я попытался использовать компаратор, а затем функцию сортировки. Есть ли лучший способ/у меня есть логические ошибки?Сортировка Datastructures с использованием компаратора
abstract class distanceComparator implements Comparator<ETstrain> {
@Override
public int compare(ETstrain a, ETstrain b) {
return a.distancefrom < b.distancefrom ? -1 : a.distancefrom == b.distancefrom ? 0 : 1;
}
}
public static <ETstrain> void sort(ads[] a,
Comparator<ETstrain> b)
Ваш код выглядит хорошо меня. Однако я бы предложил использовать 'Integer.compare (a.distancefrom, b.distancefrom)' (или 'Float' /' Double.compare') или, если вы используете Java 8, используйте 'Comparator.comparing (ets -> ets.distancefrom) '. – aioobe
просто верните a.distancefrom - b.distancefrom ... Simpler – ControlAltDel
@ControlAltDel, это [ужасная идея] (http://ideone.com/zdjuU9). – aioobe