Es ist ein dynamisches Array aufgrund der folgenden Code-Basis zu erstellen:

class Person {
    int age;
    String name;
}

class DynamicArray {
    Person[] persons;
    int used;
}

Die Klasse DynamicArray soll ähnliche Funktionen wie ArrayList zur Verfügung stellen, siehe nachfolgende Aufgaben.


Übung (Start)

Implementiere:


Übung (Vergrößern)

Schreibe eine Methode inflate in der Klasse DynamicArray, diese soll das Array vergrößern ohne, dass Daten verloren gehen. Dies ist folgendermaßen zu realisieren:


Übung (Beliebig viele einfügen)

Verwende die Methode inflate um add ohne Limit aufrufen zu können. D.h. es soll möglich sein beliebig viele Personen hinzuzufügen.


Übung (Entfernen)

Schreibe folgende Methoden in der Klasse DynamicArray:


Übung (Einfügen beliebig)

Schreibe eine überladene Variante der add Methode in der Klasse DynamicArray mit der ein neues Element an beliebiger Stelle eingefügt werden kann. Alle Elemente die sich an dieser Stelle und dahinter befinden sollen um eine Indexposition verschoben werden. Das Array soll sich automatisch erweitern falls notwendig.


Übung (Schrumpfen)

Wenn durch das entfernen von Elementen nur mehr ein Viertel (oder weniger) der Array Elemente belegt sind, dann soll das Array auf die Hälfte verkürzt werden.