En la biblioteca estándar de Java, ¿hay algún método que permita ordenar un ArrayList
en su lugar, es decir, utilizando el almacenamiento adicional O(1)
?Java: ordenar una ArrayList en su lugar
Collections.sort(List<T>)
no cumple este requisito, ya que
vuelca la lista especificada en una matriz, ordena la matriz, e itera sobre la lista de restablecer cada elemento de la posición correspondiente en la matriz.
Si no hay nada en la biblioteca estándar, ¿qué bibliotecas de terceros se pueden usar para hacer esto?
Lo único que hace falta es una copia de la matriz y, por lo tanto, usa O (n) almacenamiento adicional según Collections.sort. – Adamski
En Java 7 no toma una copia. No he comprobado Java 6. –
Interesante. En realidad, estoy bastante sorprendido de que hayan cambiado el comportamiento para devolver el conjunto subyacente; Me imagino que esto causaría muchos errores sutiles para las personas que actualicen desde Java 6. – Adamski