Das geht z.B wie bei der von Namenloser angesprochen TList. Dort wird bei jedem Hinzufügen geprüft ob die Liste vergrößert werden muß. Werden Items aus der Liste rausgelöscht passiert sozusagen nichts, außer daß Count um eins verkleinert wird (beim TListNachfolger TObjectList wird ggf. das noch Object freigegeben).
In Delphi wird die Liste nach folgender Function vergrößert:
Delphi-Quellcode:
function DeltaCapacity: integer;
begin
if FCapacity > 64 then
Result := FCapacity div 4
else
if FCapacity > 8 then
Result := 16
else
Result := 4;
end;