Una lista concatenata è uno dei principali tipi di strutture dati nel mondo della programmazione . Si tratta di una disposizione di nodi che contiene sia i dati e riferimenti che puntano al nodo successivo . Per ordinare una lista concatenata in Java , c'è una classe lista collegata che funziona con il quadro Collezioni che implementa algoritmi come l'ordinamento . Istruzioni
Ordinare una lista concatenata in Java
1
Dichiarare la lista collegata con la creazione di un nuovo oggetto LinkedList e di assegnarlo a una variabile LinkedList . LinkedList eredita dalla classe List generica , in modo che qualsiasi metodo che accetta un elenco accetta anche un oggetto LinkedList . " " LinkedList l = new LinkedList (); " "
2
Aggiungi oggetti dello stesso tipo ( ad esempio numeri interi ) all'elenco . Questi possono essere oggetti di qualsiasi tipo , ma per ordinare una lista concatenata , che dovrebbe essere di tutti dello stesso tipo .
3
utilizzare il metodo List.addFirst di inserire nuovi oggetti di all'inizio della lista , in modo che qualunque oggetti aggiunta farà in ordine inverso . Se si desidera aggiungerli alla fine della lista , utilizzare il metodo List.addLast " " list.addFirst ( 1) ; list.addFirst ( 3) ; list.addFirst ( 2) ; " . "
4
Utilizzare un Iterator per scorrere l'elenco , e stamparli prima e dopo per vedere che il metodo di ordinamento sta facendo . " " for ( Iterator i = list.iterator (); i.hasNext ( ) ) { System.out.println ( i.next ( ) );} " "
Ordina in base predefinito e personalizzato comparatori
5
Ordina la lista con il comparatore di default . Un comparatore è un oggetto che confronta due oggetti . L'oggetto di confronto predefinito utilizza l'operatore Minore di , quindi la lista sarà ordinata in ordine crescente. Per ordinare l'elenco , utilizzare il metodo statico Collections.sort " " Collections.sort (lista ) ; " . "
6
Ordina la lista con un comparatore personalizzato scrivendo una classe che implementa l'interfaccia comparatore e passa ad essa un'istanza come argomento di sorta . La classe che implementa comparatore deve solo implementare il metodo singolo " confrontare ". " " public class GreaterThan implementa Comparator { @ Overridepublic int compare ( Object arg0 , arg1 Object ) { int x = ( Integer ) arg0 ; int y = ( Integer) arg1 ; if ( x > y) {return -1; } else if ( x == y) { return 0; } else { return 1; } } } " "
7
utilizzare la chiamata a Collections.sort passando una nuova istanza di GreaterThan come secondo argomento . Dal momento che gli oggetti che sono maggiori saranno ordinati prima , l' elenco verrà ordinato in ordine decrescente , invece di ordine crescente. In alternativa , se si sta ordinamento di un elenco di oggetti di una classe personalizzata che tu stesso hai scritto , che la classe può implementare l'interfaccia Comparable invece di utilizzare una classe Comparator separato . " " Collections.sort ( elenco , nuovo GreaterThan ( ) ) ; " "