|
In diesem Beispiel wird eine verkettete Liste mit Hilfe
von Vererbung (ist-ein-Beziehungen) und Generics implementiert.
Dieses wird auf die natürliche OOP-Implementierungsart für Summendatentypen
realisiert.
|
|
Unschön an dieser Lösung im Gegensatz zu der gleichwertigen nicht generischen
Form ist, dass Java keine generischen Singletons (keine generischen statischen Variablen)
erlaubt.
|
|
Dieses wird hier umgangen, indem das Singleton für die leere Liste
bei jeder Verwendung über eine statische Funktion in den erforderlichen
generischen Typ konvertiert wird. Diese Konversion ist unsicher,
algorithmisch aber unproblematisch.
|
|
Unschön bleibt aber, dass unsichere Typkonversionen notwending sind,
um typsichere generische Listen zu realisieren.
|
|
Es sind in diesem Beispiel nur die Kernfunktionalitäten implementiert,
die Erweiterungen aus den vorherigen Beispielen lassen sich aber
1-1 übertragen.
|
LinkedList
|
Die Quelle
|
|
Compilation:
javac -source 1.7 -encoding iso-8859-1 LinkedList.java
|