Collections sind auch Listen, also prinzipiell.
Bei der TCollection ist es aber grundsätzlich so, dass immer nur ein Typ in der "Liste" steckt.
Bei den TList, und vor allem bei der generischen TList<>, können auch Nachfahren der Item-Klasse drin stecken.
Die Collection und ihre Items sind auch so gestaltet, dass sie automatisch serialisiert wird. (also selbst oder z.B. im
DFM-Reader/Writer)
Und beim Ändern der Größe der Liste wird die Item-Instanz ebenfalls automatisch verwaltet.
Also erstmal wie OwnsObjects bei der TObjectList bzw. TList<>, wird es freigegeben, aber auch beim Hinzufügen, wird die Item-Instanz automatisch erstellt.
Und es gibt einen Default-PropertyEditor für den FormDesigner, um dort Collections zu bearbeiten. (die Items vieler
VCL-Komponenten, wie z.B. Actions, ButtonsGroups, Gestures, Grids, Skia, Taskbars uvm.)
Für die
VCL, wenn ausschließlich über den FormDesigner bearbeitet, da ist das generische nicht.
Soll die Liste/Collection vom Code aus bearbeitet werden, dann ist eine manuelle Ableitung oder eine Generische, halt sehr hilfreich, da grundsätzlich keine Casts nötig sind und immer der entsprechende Item-Typ aus den Property und Methoden der Liste kommt.