ArrayList<String> data = new ArrayList<String>(10);
Welche der folgenden Anweisungen wird funktionieren?
data.add( "Irene Adler" ); // OK
data.add( new String("Laura Lyons") ); // OK
data.add( 221 ); // Falscher Argumenttyp
data.add( new Integer( 221 ) ); // Falscher Argumenttyp
ArrayList
ArrayList implementiert die List<E> Schnittstelle.
Um ein Element an das Ende einer ArrayList hinzuzufügen, tun wir das:
// Wir fügen einen Verweis auf ein Objekt elt am Ende der ArrayList hinzu, // dabei erhöht sich die Größe um eins. Die Kapazität wird bei Bedarf erhöht. // Gibt immer true zurück. boolean add( E elt ) ;
Um auf das Element bei einem bestimmten Index zuzugreifen, verwenden wir:
E get( int index )
Diese Methode gibt eine Referenz auf ein Objekt in der Liste zurück, das vom Typ E ist. Hier ist unser Beispielprogramm, bei dem der Typ E String ist.
import java.util.* ;
public class ArrayListEgTwo
{
public static void main ( String[] args)
{
// Erstellt eine ArrayList, die Referenzen auf Strings enthält
ArrayList<String> names = new ArrayList<>();
// Die Kapazität beginnt bei 10, aber die Größe beginnt bei 0
System.out.println("initial size: " + names.size() );
// Drie Stringreferenzen hinzufügen
names.add("Amy");
names.add("Bob");
names.add("Cindy");
System.out.println("new size: " + names.size() );
// Zugriff und Ausgabe der Objekte
for ( int j=0; j<names.size(); j++ )
System.out.println("element " + j + ": " + names.get(j) );
}
}
Das Programm erstellt eine ArrayList mit Referenzen auf String-Objekte. Die for-Anweisung verwendet size() für die obere Grenze der Schleife. Das funktioniert, weil zwischen den Elementen der Liste nie leere Zellen sind.