element 0: Amy element 1: Bob element 2: Cindy element 0: Zoe element 1: Bob element 2: Cindy
import java.util.* ;
public class ArrayListEgFour
{
public static void main(String[] args)
{
ArrayList<String> names =
new ArrayList<>();
names.add( "Amy" );
names.add( "Bob" );
names.add( "Chris" );
// ursprüngliche Anordnung ausgeben
System.out.println(
"Vor dem Hinzufuegen bei Index 1:");
for ( int j=0; j < names.size(); j++ )
System.out.println(j + ": " + names.get(j));
// Ein Element einfügen
names.add( 1, "Valerie");
// Neue Anordnung ausgeben
System.out.println(
"\nNach dem Hinzufuegen bei Index 1:");
for ( int j=0; j < names.size(); j++ )
System.out.println(j + ": " + names.get(j));
}
}
Wir können ein Element an einem bestimmten Index von 0 bis size()
einfügen. Das neu hinzugefügte Element befindet sich nun bei dem angegebenen Index. Die Indizes aller Elemente oberhalb dieses Elements werden um eins erhöht. Wenn wir ein Element beim Index size()
einfügen, wird das Element an das Ende der Liste angehängt.
void add(int index, E elt)
index
ein.index
ist, wird nach oben verschoben und hat nun einen Index, der um eins größer ist als sein vorheriger Wert.
Die Methode löst eine IndexOutOfBoundsException
aus, wenn der Index außerhalb der Grenzen liegt, entweder negativ oder größer als size()
. Das verhindert, dass eine Liste mit Lücken zwischen den Elementen erstellt wird. Das folgende Programm verwendet diese Methode:
Das Programm gibt aus:
Vor dem Hinzufuegen bei Index 1: 0: Amy 1: Bob 2: Chris Nach dem Hinzufuegen bei Index 1: 0: Amy 1: Valerie 2: Bob 3: Chris
Würde die folgende Anweisung in dem oben stehenden Programm funktionieren?
names.add(5, "Gertrude");