Tengo una gran variedad de tipos primitivos (dobles). ¿Cómo ordeno los elementos en orden descendente?Ordenar matrices de tipos primitivos en orden descendente
Desafortunadamente, la API de Java no admite la clasificación de tipos primitivos con un Comparador.
Una solución sería clasificar y luego revertir:
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;
}
Esto es lento - especialmente si la matriz ya está ordenada bastante bien.
¿Cuál es una mejor alternativa?
Este es un gran proyecto simple en GitHub. ¡Muy buen trabajo! Los lectores también deben tener en cuenta que 'verdadero' como tercer argumento para 'ordenar' utilizará una edición simple de TimSort incorporado de Java, que es estable. – kevinarpe