L'algoritmo di sort riordina una List in modo che i suoi elementi
siano in ordine crescente. L'operazione sort usa un merge sort leggermente
ottimizzato con le seguenti caratteristiche:
Veloce. L'algoritmo è garantito che girerà con complessità
n log n. Studi empirici hanno mostrato che è più veloce e
più altamente ottimizzato di un quicksort. Quicksort è reputato
essere più veloce del mergsort, ma non è stable e
non garantisce performance di complessità
n log n.
Stable. Non riordina elementi uguali. E' importante se tu ordini
ripetutamenete la stessa lista attraverso diversi attributi. Se un utilizzatore
di un programma di posta ordina la sua in-box per data di spedizione e
poi la ordina per mittente, l'utilizzatore naturalmente si aspetta che
ora la lista contigua di messaggi spediti da un certo mittente sarà
ancora ordinata per data di spedizione. Questo è garantito solo
se il secondo ordinamento è stable.
Viene qui presentato di seguito il listato di una applicazione che esegue
l'ordine alfabetico di una lista che riceve in input:
import java.util.*;
public class Sort
{
public static void main(String args[]) {
List l = Arrays.asList(args);
Collections.sort(l);
System.out.println(l);
}
}