Come ordinare una lista collegata in Java

Autore: Monica Porter
Data Della Creazione: 19 Marzo 2021
Data Di Aggiornamento: 20 Novembre 2024
Anonim
Liste in Java: inserimento in una lista già ordinata
Video: Liste in Java: inserimento in una lista già ordinata

Contenuto

Come organizzare un elenco collegato in Java. Una lista chiusa è uno dei principali tipi di strutture dati nel mondo della programmazione. È un'organizzazione di nodi che contiene dati e riferimenti che puntano al nodo successivo. Per ordinare un elenco collegato in Java, esiste una classe elenco che funziona con il framework Collections, che implementa gli algoritmi come ordinamento.


indicazioni

Organizzazione dell'elenco collegato in Java (immagine di interrogazione di danimages da Fotolia.com)

    Ordina un elenco collegato in Java

  1. Dichiarare l'elenco collegato creando un nuovo oggetto LinkedList e assegnando una variabile LinkedList. Un LinkedList proviene dalla classe List generica, quindi qualsiasi metodo che accetta un elenco verrà accettato anche dall'oggetto LinkedList. "" LinkedList l = new LinkedList (); ""

  2. Aggiungi oggetti dello stesso tipo (come numeri interi) alla lista. Questi possono essere oggetti di qualsiasi tipo, ma per ordinare l'elenco collegato, tutti devono essere dello stesso tipo.

  3. Utilizzare il metodo List.addFirst per inserire nuovi oggetti nella parte superiore dell'elenco, in modo che tutti gli oggetti aggiunti siano nell'ordine opposto. Se si desidera aggiungerli alla fine dell'elenco, utilizzare il metodo List.addLast. "" list.addFirst (1); list.addFirst (3); list.addFirst (2); "


  4. Utilizzare un iteratore per scorrere l'elenco e stamparlo prima e dopo aver visto cosa sta facendo il metodo di ordinamento. "" per (Iterator i = list.iterator (); i.hasNext ();) {System.out.println (i.next ());} "

    Ordina usando i comparatori predefiniti e personalizzati

  1. Ordina l'elenco con il comparatore predefinito. Un comparatore è un oggetto che confronta due oggetti. L'oggetto comparatore di default usa l'operatore più piccolo, quindi la lista è ordinata in ordine crescente. Per ordinare l'elenco, utilizzare il metodo Collections.sort statico. "" Collections.sort (elenco); ""

  2. y) {return -1; "> Ordina l'elenco con un comparatore personalizzato scrivendo una classe che implementa un'interfaccia di confronto e passandola a un'istanza come argomento di ordinamento. La classe che implementa il comparatore deve solo implementare la semplice "public class GreaterThan implementa Comparator else if (x == y) {return 0;} else {return 1;}}}"


  3. Usa la chiamata a Collections.sort passando una nuova istanza di GreaterThan come secondo argomento. Poiché gli oggetti più grandi si troveranno davanti agli altri, l'elenco verrà ordinato in ordine decrescente anziché in ordine crescente. In alternativa, se si ordina un elenco di oggetti da una classe personalizzata che è stata digitata dall'utente, questa classe può implementare l'interfaccia Comparable anziché utilizzare la classe Comparator separata. "" Collections.sort (elenco, new GreaterThan ()); ""

suggerimenti

  • È problematico utilizzare un numero intero per iterare nel circuito e nel metodo List.size (). L'iterazione di una lista chiusa è un'operazione di calcolo dispendiosa. Quando si utilizza un operatore di indice (come l [2]) come in qualsiasi comando, Java deve scorrere l'elenco fino a raggiungere l'indice 2. Per gli elenchi di piccole dimensioni, questo è un problema, tuttavia, con qualcosa di grande, usando l'operatore indice per iterare le trasformazioni in qualcosa che richiede molte risorse.
  • Indipendentemente da come viene implementato l'oggetto List, dal momento che LinkedList implementa la stessa interfaccia.
  • Il metodo di confronto dovrebbe tornare a -1 se arg0 è ordinato prima di arg1, 0 se è ordinato allo stesso modo, e 1 se arg1 è ordinato prima di arg0.

avvertimento

  • L'oggetto iteratore garantisce che ciascun nodo nell'elenco visiti solo una volta. Questo è importante da ricordare, dal momento che visitarci senza necessità potrebbe abusare delle strutture dati fino al punto in cui il programma non funziona correttamente.

I bambini offrono di raffreddore più di qualiai altra malattia: in media, da otto a dieci raffreddori all'anno. ebbene generalmente non iano gravi, poono cauare diagio e irritabilità. Il...

Ci ono innumerevoli modi in cui uno tudente può volgere lavori cientifici ul riciclaggio. Poiché il riciclaggio è un argomento di cui i parla molto nell'attuale era ecologica, le ri...

Popolare