Linked lister er grunnleggende datastrukturer i programmering. Nesten hver programmeringsspråk har en slags lenket liste implementert som et bibliotek , samt mange måter å konstruere lenkede lister. Java er intet unntak. Og mens Java kan implementere en lenket liste , hjelper det for programmerere å vite hvordan lenkede lister arbeid , og hva de gjør. På den måten kan programmerere forstå hvordan å justere dem for visse situasjoner eller optimalisere dem for visse systemer . Noder
Hver lenket liste har som komponent del en " node ", som inneholder både data blir lagret og en variabel som refererer til neste element i listen . Noen mer komplekse listene inneholder noder som refererer til flere andre noder , men for den grunnleggende liste , påpeker referanse til neste node i listen . . De data som er lagret på listen kan være av noe slag
Linked List Class
I Java , vil en lenket liste inneholder i det minste to klasser : de viktigste liste klasse , og en node klasse . Følgende eksempel illustrerer denne forskjellen . I denne listen , ligger noden klassen som en privat medlem av listen klassen, slik at bare listen kan manipulere noder. For at en bruker å legge til eller fjerne elementer , må hun gå gjennom klassen grensesnitt : public class Lista viser {
private static class Node { int data , Node neste ;}
}
Sette inn på listen
Hver liste skal ha en innsetting metoden. Denne metoden vil føre brukeren verdi , i dette tilfellet et heltall , og sette inn en node som inneholder denne verdien langs listen. Dette betyr også at hver liste vil inneholde en enkel variabel som vil representere et hode node, slik at listen vet når den er tom eller når brukeren er i starten av listen : Node hode = null;
public void insertNode ( int verdi) {
Node temp = new Node (); new.data = verdi ;
if ( hode == null ) { hode = temp ; temp.next = null; }
else { Node current = hode ;
while ( current.next = null ! ) { nåværende == current.next ;}
current.next = temp ; temp.next = null; }
fjerne fra listen
fjerne fra listen er litt mer komplisert . I en enkel liste , vil brukeren bare legge på enden av listen. Med fjerning, kan hun fjerne en node fra midten . I dette tilfellet må programmereren sørge for at listen forblir sammenhengende ved å sørge noden tidligere til den fjernet node refererer til noden etter fjernet node: public void removeNode ( int verdi) {
if ( hode ! = null ) { Node current = head.next , Node trail = hode ;
while ( strøm = null && current.data = verdi ) { trail = gjeldende; ! current = current.next ; }
if ( current.data == verdi) { trail.next = current.next ; strøm = null; return; } else if ( nåværende == null ) { System.out.println ( " Element ikke i List " ), tilbake ;} } }