|
In diesem Beispiel wird eine zweite Möglichkeit
für die Implementierung von verketten Listen in Java
mit Generics gezeigt. Diese Implementierungsstrategie
wird für Bäume noch wesentlich wichtiger werden, als die
vorherige.
|
|
Ziel dieses Ansatzes ist es,
die leere Liste wieder für alle Listen einheitlich darzustellen.
Dieses funktioniert beim Ansatz ohne Generics (bis Java 1.4) sehr
elegant und effizient mit einem Singleton. Da aber keine generischen
Singletons möglich sind, muss wieder die null-Referenz für die
Endekennung herhalten.
|
|
Intern wird mit Objekten einer lokalen Klasse gearbeitet. Diese
Objekte haben genau die gleiche Bedeutung, wie die struct Node Records
aus der C-Implementierung. Daher werden die C-Algorithmen auch 1-1 in Java
kopiert. Die Aufrufe dieser nicht öffentlichen C-Hilfsroutinen
werden durch öffentlichen Wrapper-Methoden gekapselt.
|
|
Es ist in diesem Beispiel nur die LinkedList-Klasse entwickelt worden,
einige für die Verdeutlichung dieses Ansatzes unwesentliche Methoden
sind weggelassen worden.
|
| |
LinkedList
|
Die Quelle
|
|
Compilation:
javac -source 1.7 -encoding iso-8859-1 LinkedList.java
|