sort example ejemplo java list sorting

java - example - Diferencia entre Collection.sort(list) y list.sort()



comparator java example (2)

El método List.sort(comparator) que hace referencia se introdujo en Java 8, mientras que el método de utilidad Collections.sort ha estado allí desde Java 1.2.

Como tal, encontrará una gran cantidad de referencias en Internet que mencionan ese método de utilidad, pero eso es solo porque ha estado en el JDK durante mucho más tiempo.

Tenga en cuenta que el cambio en la implementación de Collections.sort se realizó en 8u20 .

¿Hay alguna razón por la que prefiera el método Collection.sort(list) en lugar de simplemente llamar a list.sort() ? Internamente, Collection.sort simplemente llama al método de sort de la clase List todos modos.

Es sorprendente que casi todos me estén diciendo que use Collection.sort . ¿Por qué?


Esto es simplemente un cambio a las API. Con un lenguaje con una adopción tan amplia como Java, lo que suele suceder durante un período de tiempo, el método más antiguo es preferible, para mantener el soporte heredado.

Después de este período de tiempo, la API más antigua queda en desuso (o quizás no, ambas pueden permanecer en su lugar por tiempo indefinido). Dentro de este período, se pueden realizar mejoras en la nueva API, lo que hace que su funcionalidad se diferencie ligeramente de la implementación original, alentando a los desarrolladores a adoptarla. Los requisitos / resultados de la nueva API pueden divergir ligeramente, y la implementación puede cambiar dramáticamente.

Luego, eventualmente, la nueva API toma el control y la API anterior ya no es necesaria y se elimina. En un lenguaje con una adopción tan amplia como Java, esto puede llevar años o décadas. Los desarrolladores pueden tener un plan para eliminar una API, pero la comunidad debe obligarlo a dejarlo.