länkade listor är grundläggande datastrukturer i programmering . Nästan varje programmeringsspråk har någon form av länkad lista implementeras som ett bibliotek , liksom många sätt att konstruera länkade listor . Java är inget undantag . Och medan Java kan implementera en länkad lista , hjälper det för programmerare att veta hur länkade listor arbete , och vad de gör . På så sätt kan programmerare förstå hur man kan justera dem för vissa situationer eller optimera dem för vissa system . Noder
Varje länkad lista har som beståndsdel en " nod ", som innehåller både de data som lagras och en variabel som refererar till nästa objekt i listan . Vissa mer komplicerade listor innehåller noder som refererar flera andra noder , men för den grundläggande listan pekar referens till nästa nod i listan . . De data som lagras i listan kan vara av något slag
länkad lista Klass
Java , kommer en länkad lista innehåller , åtminstone, två klasser : de viktigaste lista klass , och en nod klass . Följande exempel illustrerar denna skillnad. I denna lista , bosatt noden klassen som en privat medlem av listan klassen, så att endast listan kan manipulera noder. För att en användare att lägga till eller ta bort delar, måste hon gå igenom klassen gränssnitt : public class LList {
private static class Node { int data; Node nästa ; }
}
Addera Sätta in på listan
Varje lista har en insättning metoden . Denna metod kommer att ta ett användarnamn värde , i detta fall ett heltal , och infoga en nod som innehåller det värdet längs listan . Detta betyder också att varje lista kommer att innehålla en enkel variabel som kommer att representera ett huvud nod , så att listan vet när den är tom eller när användaren är i början av listan : Node huvudet = null ;
public void insertNode ( int value ) {
Node temp = new Node ( ) ; new.data = värde ;
om ( huvud == null ) { huvudet = temp ; temp.next = null ; }
else { Node ström = huvud ;
samtidigt ( current.next = null ) { ström == current.next ;}
current.next = temp , temp.next = null ; } Addera bort från listan
bort från listan är lite mer komplicerat . I en enkel lista , kommer användaren bara lägga på slutet av listan . Med avlägsnande , kan hon ta bort en nod från mitten . I det här fallet , måste programmeraren se till att listan förblir sammanhängande genom att se noden innan den tas bort noden hänvisar till noden efter den borttagna noden : public void removeNode ( int value ) {
om ( huvud ! = null ) { Node ström = head.next , Node trail = huvud ;
samtidigt ( nuvarande = null && current.data = värde ) { trail = ström ; ! nuvarande = current.next ; }
om ( current.data == värde ) { trail.next = current.next , current = null; avkastning; } else if ( nuvarande == null ) { System.out.println ( " Element inte på listan " ) , avkastning; } } } Addera