Lecture overview -- Keyboard shortcut: 'u'  Previous page: Indsættelse og sletning af første element i en liste uden identitet -- Keyboard shortcut: 'p'  Next page: Dobbeltkædede lister -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 19 : 28
Forelæsningsnoter i Objekt-orienteret Programmering
Arrays og Lister
Java programeksempler

Lad os her se på et konkret eksempel på en meget simpel, men ikke desto mindre nyttig kædet liste programmeret til lejligheden i Java. Klasserne er ikke perfekte - endnu. Vi vil gradvis repararere uhesigtsmæssigheder i løbet af lektionen

Vi ser på en enkeltkædet liste hvor al indsættelse og sletning foregår i forenden af listen.

/user/normark/courses/prog1/prog1-01/sources/java/noteEksempler/arrays-lister/ex1/LinkedList.javaKlassen LinkedList.

Klassen LinkedList. Klassen afhænger af Linkable, som vi tidligere har vist. Datamæssigt holder vi styr på det første element og længden (private instansvariable). Konstruktoren laver en tom liste. Metoderne insertFirst og deleteFirst indsætter og sletter første element i listen. Metoden firstLinkable returnerer det første kædeobjekt. Som vi vil se senere er dette en problematisk beslutning, idet vi dybest set ikke ønsker at afsløre detaljer om lister's interne infrastruktur (altså sammmenkædningen).

/user/normark/courses/prog1/prog1-01/sources/java/noteEksempler/arrays-lister/ex1/ListApplication.javaEt eksempel på anvendelse af LinkedList.

Et eksempel på anvendelse af LinkedList. Vi indsætter 1, 2 og 3. Dernæst sletter vi det første element (3). Dernæst indsætter vi 4. Programmet udskriver 4, 2, 1.

Den viste implementation af LinkedList afslører detaljer om kædeobjekterne

Listesproget Lisp's listebegreb opererer ligesom LinkedList på forenden af en liste

Afsløringen af detaljer om kædeobjekterne er fremhævet i de to klasser, som er vist ovenfor