/**
  *
  * Der ADT DynArray (Dynamische Reihung), Abitur 2021 Informatik Niedersachsen
  * Umsetzung mit der ArrayList au der Java-Klassenbibliothek.
  * Zählung der Einträge beginnt bei 0. 
  * 
  * @version 3.1.2020
  * @author Carsten Wieneke
  */

import java.util.*;

public class DynArray<Inhaltstyp> {
  
  private ArrayList<Inhaltstyp> l;    
  
  
  /**
  * Konstruktor
  */
  public DynArray(){
    l = new ArrayList<Inhaltstyp>();
  }
  
  /**
  * Reihung leer?
  */
  public boolean isEmpty(){
    return l.size()==0;
  }
  
  /**
  *  Element am Ende der Reihung anfügen
  */
  public void append(Inhaltstyp x){
    l.add(x);
  }
  
  /**
  *  Element an einer Position einfügen.
  *  Enspricht der Einfügeindex der Länge der Reihung, so wird
  *  am Ende der Reihung angefügt.
  */
  public void insertAt(int index, Inhaltstyp x){
    l.add(index, x);
  }
  
  /**
  *  Element an einer Position ersetzen
  */
  public void setItem(int index, Inhaltstyp x){
    l.set(index ,x); 
  }
  
  /**
  *  DerInhalt eines Elements an der Position index wird zurückgegeben.
  */
  public Inhaltstyp getItem(int index){
    return l.get(index); 
  }
  
  /**
  *  Die Anzahl der Elemente der dynamischen Reihung wird zurückgegeben
  */
  public int getLength(){
    return l.size();
  }
  
  /**
  *  Element an einer Position löschen
  */
  public void delete(int index){
    l.remove(index);
  }
 
}


