ArrayList unterscheidet sich hauptsächlich durch die dynamische Größe von einfachen Arrays. Objekte dieser Klasse werden mit einer definierbaren Startgröße erstellt und wachsen dann automatisch beim Hinzufügen von Elementen. Sollte die Liste einmal zu groß sein (weil Elemente wieder gelöscht wurden), kann sie durch einen entsprechenden Methodenaufruf auch wieder "zurechtgestaucht" werden.