kurze Frage, wenn man ein Objekt an einer beliebigen Stelle zur Laufzeit entnimmt, muss man da die Liste nochmals sortieren, oder wird das "Loch" automatisch wieder aufgefüllt?
Wenn Du eine Listen Implementation hast, dann gibt es kein "Loch", Es gibt das Element dann einfach nicht mehr. Eine Liste ist eine Menge von Elementen in einer bestimmten Reihenfolge, also z.B. 1, 3, 5, 7, 9
Wenn Du da ein Element heraus nimmst, dann bleibt die restliche Liste, also wenn man die 5 heraus nimmt: 1, 3, 7, 9
Wie das dann intern umgesetzt wird, das ist erst einmal egal. Das kann in Form von Referenzen sein, die von einem Element zum nächsten gehen. Dann würde nur die Referenz vom Element 3 auf die 7 zeigen. Oder das ist in Form eines Arrays. Dann würde eine Lücke entstehen und da müsste dann reagiert werden (vermutlich durch einfaches Kopieren aller folgenden Elemente.
Hier sind also zwei Sichtweisen:
a) die Abstrakte Sichtweise: Es wird etwas nach außen implementiert, also z.B, das Interface List<T> und man hat dann eine Sichtweise, was da nach außen passiert. Die List ist eine Black Box und man weiss nicht, was die macht.
b) die konkrete Implementation: Da muss man dann genau schauen, was man wie hat und was dann notwendig ist, damit die gewünschte Schnittstelle / der Vertrag erfüllt wird.
Generell ist wichtig: Du musst genau sagen, um was es Dir geht: Über was für eine Liste redest Du? Ist es das Interface List von Java? Eine selbst geschriebene Klasse? Ohne die Information kann ich nur diese allgemeine Information geben in der Hoffnung, dass Dir das weiter hilft.