zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

size: 0
new size: 3
element 0: Amy
element 1: Bob
element 2: Cindy

ArrayList-Elemente setzen

Die Methode add(E elt) fügt am Ende einer ArrayList hinzu. Aber manchmal möchte man das Element an einem bestimmten Index ändern.

set( int index, E elt )

Das Element, das zuvor an index stand, wird durch die Referenz elt ersetzt. Der Index sollte im Bereich von 0 bis size-1 liegen.

Eine IndexOutOfBoundsException wird geworfen, wenn der Index außerhalb der Grenzen liegt. (Das bedeutet für jetzt, dass das Programm angehalten wird.)

Der Index muss im Bereich von 0 bis size-1 liegen, was die Indizes der bereits belegten Zellen sind. Diese Methode kann keine leeren Zellen "überspringen", wenn sie ein Element hinzufügt. Sie kann nicht verwendet werden um eine Liste zu erstellen, die Lücken enthält.

Das Programm baut zunächst eine Liste mit drei Elementen auf und ersetzt dann das Element bei Index Null.


Hinzufügen von Zoe zu einer ArrayList
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<String>();

    // könnte in aktuellen Java Versionen auch so geschrieben werden
    // var names = new ArrayList<String>();

    // Die Kapazität beginnt bei 10, aber die Größe beginnt bei 0
    System.out.println("initial size: " + names.size() );

    // Die Stringreferenzen hinzufügen
    names.add("Amy");
    names.add("Bob");
    names.add("Cindy");
    System.out.println("new size: " + names.size() );

    // "Amy" durch "Zoe" ersetzen
    names.set(0, "Zoe");
    System.out.println();

    // Zugriff und Ausgabe der Objekte
    for ( int j=0; j<names.size(); j++ )
      System.out.println("element " + j + ": " + names.get(j) );
  }
}

Frage 12:

Was gibt das Programm aus?

element 0:
element 1:
element 2:

element 0:
element 1:
element 2:

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite