Сортировка больших массивов примитивных типов в порядке убывания.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сортировка больших массивов примитивных типов в порядке убывания.

Сообщение Anonymous »

У меня есть большой массив примитивных типов (double).
Как отсортировать элементы в порядке убывания?К сожалению, Java API не поддерживает сортировку примитивных типов с помощью компаратора.
Первый подход, который, вероятно, приходит на ум, — это преобразовать его в список объектов (бокс):

Код: Выделить всё

double[] array = new double[1048576];
Arrays.stream(array).boxed().sorted(Collections.reverseOrder())…
Это решение, вероятно, достаточно хорошо для многих (или даже большинства) случаев использования, но упаковка каждого примитива в массиве слишком медленна и вызывает много ошибок. давления GC, если массив большой!
Другой подход — отсортировать, а затем перевернуть:

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сортировка Yii2 Gridview сначала в порядке убывания
    Anonymous » » в форуме Php
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Сортировка Yii2 Gridview сначала в порядке убывания
    Anonymous » » в форуме Php
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Сортировка массива int в порядке убывания, используя функции Java 8 (поток, лямбда и т. д.)
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Сортировка ассоциативного массива по ключу в порядке убывания
    Anonymous » » в форуме Php
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Сортировка массива объектов по свойству в порядке убывания.
    Anonymous » » в форуме Php
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»