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.