¿Qué es más eficiente: una secuencia ordenada o una lista?
Supongamos que tenemos algunos elementos en una colección y queremos clasificarlos usando cierto comparador, esperando el resultado en una lista:
Collection<Item> items = ...;
Comparator<Item> itemComparator = ...;
Uno de los enfoques es ordenar los elementos en una lista, algo así como:
List<Item> sortedItems = new ArrayList<>(items);
Collections.sort(sortedItems, itemComparator);
Otro enfoque está utilizando una secuencia ordenada:
List<Item> sortedItems = items
.stream()
.sorted(itemComparator)
.collect(Collectors.toList());
Me pregunto, ¿qué enfoque es más eficiente? ¿Hay alguna ventaja de una secuencia ordenada (como la clasificación rápida en múltiples núcleos)?
Eficiente en un sentido de complejidad de tiempo de ejecución / más rápido.
No confío en mí mismo para implementar un perfectopunto de referencia Y estudiandoSortedOps
Realmente no me iluminó.