Массив Integerов сортируется, а вот с массивом intов что-то не получается:
https://ideone.com/tXfCql
class Ideone {
public static void main (String[] args) throws java.lang.Exception {
Integer a[] = {1,2,3,4,5,6,7};
int b[] = {1,2,3,4,5,6,7};
Arrays.sort(a, (x,y) -> y-x);
//Arrays.sort(b, (x,y) -> y-x);
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
}
}
Если раскомментировать сортировку массива b, то будет ошибка
Main.java:11: error: no suitable method found for sort(int[],(x,y)->y - x)
Arrays.sort(b, (x,y) -> y-x);
^
method Arrays.
Как его правильно отсортировать с кастомным компаратором?
Ответ
Массив Integerов сортируется, а вот с массивом intов что-то не получается
И правильно, что не получается, так как дженерики (коим является Comparator
Как отсортировать int[] со своим компаратором?
Так, как хотите Вы (непосредственно с помощью Arrays.sort(...)) -- никак, но есть множество альтернативных решений, которые перечислены в соседнем ответе
Комментариев нет:
Отправить комментарий