У меня есть большой массив примитивных типов (двойной). Как отсортировать элементы в порядке убывания?
К сожалению, Java API не поддерживает сортировку примитивных типов с помощью Comparator.
Одним из обходных путей будет сортировка, а затем обратное:
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;
}
Это медленно - особенно если массив уже отсортирован довольно хорошо.
Какая лучшая альтернатива?