zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

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

Hinzufügen von Elementen zu einer 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.


ArrayList nach drei add Operationen
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.


Frage 11:

Was gibt das Programm aus?

size:
new size:
element 0: 
element 1: 
element 2: 

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite