Linked lister er grundlæggende datastrukturer i programmering. Næsten hver programmeringssprog har en form for linkede liste implementeret som et bibliotek, samt mange måder at konstruere hægtede lister . Java er ingen undtagelse. Og mens Java kan implementere en sammenkædet liste , det hjælper for programmører at vide, hvordan linkede lister arbejde og hvad de gør. På den måde kan programmører forstår at nappe dem for bestemte situationer eller optimere dem til bestemte systemer . Nodes
Hver linkede liste har som sin delprodukt en " node ", som både indeholder de data, der er lagret , og en variabel, der refererer til det næste punkt på listen. Nogle mere komplekse lister indeholder knuder , der refererer flere andre knudepunkter, men for den grundlæggende liste referencen kun peger på den næste node i listen. . De data er gemt på listen kan være af enhver art
Linked List Class
Java vil en linket liste indeholder som minimum to klasser : de vigtigste liste klasse , og et knudepunkt klasse . Det følgende eksempel illustrerer denne forskel . I denne liste , bor knudepunktet klasse som et privat medlem af listen klasse , således at kun listen kan manipulere knudepunkter . For at en bruger at tilføje eller fjerne elementer , skal hun gå gennem klassen interface: public class Llist {
private statisk class Node { int data Node næste ;}
} < br >
indsættelse ind på listen
Hver liste vil have en indføring metode. Denne metode vil føre brugeren værdi , i dette tilfælde et heltal , og indsætte en node , der indeholder den værdi langs listen . Det betyder også, at hver liste vil indeholde en simpel variabel , der vil repræsentere et hoved knude, så listen ved, hvornår den er tom , eller når brugeren er i starten af listen: Node head = null ;
public void insertNode ( int værdi) {
Node temp = new Node (); new.data = værdi
hvis (hoved == null) { head = temp ; temp.next = null ;}
else { Node strøm = hoved,
while ( current.next = null !) { nuværende == current.next ;}
current.next = temp , temp.next = null ;}
Fjernelse fra listen
Fjernelse fra listen er lidt mere kompliceret. I en simpel liste , vil brugeren kun tilføje på enden af listen . Med fjernelsen , kan hun fjerne en node fra midten . I dette tilfælde skal programmøren sikre, at listen bliver sammenhængende ved at sørge for den knude forud for den fjernede knude refererer til node efter fjernede knuden : public void removeNode ( int værdi) {
if ( hoved! = null) { Node strøm = head.next , Node trail = hoved,
while ( strøm = null && current.data = værdi ) { trail = strøm, ! strøm = current.next ; }
if ( current.data == værdi) { trail.next = current.next , strøm = null , vende tilbage;} else if ( strøm == null ) { System.out.println ( " Element ikke på listen " ), vende tilbage;} }}