Как отсортировать элементы в порядке убывания?К сожалению, Java API не поддерживает сортировку примитивных типов с помощью компаратора.
Первый подход, который, вероятно, приходит на ум, — это преобразовать его в список объектов (бокс):
Код: Выделить всё
double[] array = new double[1048576];
Arrays.stream(array).boxed().sorted(Collections.reverseOrder())…
Другой подход — отсортировать, а затем перевернуть:
Код: Выделить всё
double[] array = new double[1048576];
...
Arrays.sort(array);
// reverse the array
for (int i = 0; i < array.length / 2; i++) {
// swap the elements
double temp = array[i];
array[i] = array[array.length - (i + 1)];
array[array.length - (i + 1)] = temp;
}
Какая альтернатива лучше, если массивы большие, а производительность является основной целью оптимизации?
Подробнее здесь: https://stackoverflow.com/questions/215 ... ding-order