Come implementare una classe LinkedList da zero in Java

Pubblicato: 2013-06-19
Esercitazione sull'implementazione di Crunchify Java LinkedList

Se stai effettivamente costruendo un vero sistema di produzione, allora sì, in genere useresti semplicemente il materiale nella libreria standard se ciò di cui hai bisogno è disponibile lì. Detto questo, non pensare a questo come a un esercizio inutile.

È utile capire come funzionano le cose e understanding linked lists è un passo importante verso la comprensione di strutture di dati più complesse, molte delle quali non esistono nelle librerie standard.

Ci sono alcune differenze tra il modo in cui stai creando un elenco collegato e il modo in cui l'API delle raccolte Java lo fa.

L'API Collections sta cercando di aderire a un'interfaccia più complicata. La tua LinkedList avrà sempre almeno un elemento.

Con questo tipo di configurazione useresti null per quando hai bisogno di un elenco vuoto. Pensa al "prossimo" come al "resto della lista". In effetti molte persone lo chiamerebbero tail invece di "successivo".

Ecco un diagramma di una singola LinkedList:

Crunchify Elenco con link singolo Esempio

Un altro deve leggere:

  • Come scorrere l'istanza LinkedList in Java?
  • Java: come trovare l'elemento centrale di LinkedList?

Qual è il modo migliore per creare una lista concatenata in Java da zero?

Bene, ecco un'implementazione più semplice della classe LinkedList in Java.

LinkedList in Java da zero - Crunchify Tutorial

Poche cose:

Qui inizializziamo solo il Node durante adding 1st element .

Risultato:

I miglioramenti a questa implementazione includono la creazione di un double-linked list , l'aggiunta di metodi per insert ed delete dalla parte centrale o finale e anche l'aggiunta di metodi get e sort .

Risposta referenziata da Stack Overflow di Laurence Gonsalves. Potresti essere interessato all'elenco di tutti i tutorial Java.