1. Hinzufügen eines Elements zur Mitte (oder am Anfang) einer Liste

Wenn wir ein Element in der Mitte der Liste einfügen möchten, geschieht Folgendes innerhalb der Liste.

Angenommen, wir haben eine Liste mit 11 Elementen:

Hinzufügen eines Elements zur Mitte (oder am Anfang) einer Liste

Wir wollen die Zahl 10.000 an Index 5 in die Liste einfügen. Dazu müssen wir nur Folgendes ausführen:

list.add(5, 10000);

Wo listist eine ArrayListVariable? Die add(int index, type value)Methode fügt den Wert 10000 an Position 5 in der Liste hinzu. Folgendes passiert in der add()Methode:

Schritt 1: Alle Elemente des Arrays, beginnend mit der 5. Position, werden um 1 Element zum Ende des Arrays verschoben (kopiert):

Hinzufügen eines Elements in der Mitte (oder am Anfang) einer Liste 1

Beachten Sie, dass die Elemente in der 5. und 6. Zelle des Arrays jetzt identisch sind.

Schritt 2: Schreiben Sie den Wert 10.000 in die 5. Zelle:

Hinzufügen eines Elements in der Mitte (oder am Anfang) einer Liste 2

Jetzt enthält die Liste alle Elemente des Arrays und die fünfte Zelle enthält die Zahl 10.000. Genau das, was wir wollten.



2. Entfernen eines Elements aus einer Liste

Das Entfernen eines Elements aus einer Liste ähnelt dem Einfügen, der Vorgang ist jedoch umgekehrt.

Entfernen wir das dritte Element aus einer Liste. Dazu müssen wir Folgendes ausführen:

list.remove(3);

Folgendes passiert in der Methode „remove()“:

Schritt 1: Die Elemente des Arrays werden, beginnend an der 4. Position, um 1 Element zum Anfang des Arrays verschoben (kopiert):

Entfernen eines Elements aus einer Liste

Schritt 2: Der Wert der sizeVariablen wird um 1 verringert.

Entfernen eines Elements aus einer Liste 2

Bitte beachten Sie, dass am Ende des Arrays einige Werte grau gefärbt sind. Technisch gesehen ist das Müll. Sie müssen entfernt werden, um die Müllabfuhr nicht zu beeinträchtigen .

Schritt 3: Müll aufräumen

Entfernen eines Elements aus einer Liste 3



3. Praktische Beispiele für die Arbeit mit einer Liste in Java

Schreiben wir einige Beispiele für die Arbeit mit Listen:

Wir listen alle geraden Zahlen im Bereich von 1 bis 20 auf:

Code Anmerkungen
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);
Erstellen Sie ein Listenobjekt.

Schleife über alle Indizes 1bis Wenn der Index durch ohne Rest 20
teilbar ist , fügen Sie ihn der Liste hinzu 2

Lassen Sie uns nun alle Elemente der Liste auf dem Bildschirm anzeigen:

Code Anmerkungen
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   System.out.println(list.get(i));
Erstellen Sie ein Listenobjekt. Führen Sie eine Schleife über
alle Indizes durch. Wenn die Zahl durch ohne Rest teilbar ist, fügen Sie sie zur Liste hinzu. Schleife von Null bis zur Größe der Liste. Zeigen Sie jedes Element auf dem Bildschirm an 120

2



Elemente entfernen:

Entfernen wir nun alle Elemente, die durch 4 teilbar sind. Beachten Sie, dass sich nach dem Entfernen eines Elements aus der Liste die Positionen der verbleibenden Elemente sofort ändern.

Code Anmerkungen
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   if (list.get(i)%4 == 0)
   {
      list.remove(i);
      i--;
   }
Erstellen Sie ein Listenobjekt.

Schleife über alle Indizes 1bis. 20
Wenn der Index durch 2ohne Rest teilbar ist,
fügen Sie ihn der Liste hinzu.

Schleife von Null bis zur Größe der Liste.
Wenn ein Element der Liste 4ohne Rest teilbar ist:

a) Entfernen Das Element
b) verringert den iZähler, sodass wir bei der nächsten Iteration der Schleife denselben Index erhalten

Nehmen wir an, Sie müssen die letzten drei Elemente aus einer Liste entfernen.

So machen Sie das falsch:

Code Anmerkungen
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

int n = list.size();
list.remove(n - 3);
list.remove(n - 2);
list.remove(n - 1);
Erstellen Sie ein Listenobjekt.

Die Liste hat 10 Elemente: 2, 4, 6, ... 20



n = 10
n - 3 = 7(es sind noch 9 Elemente in der Liste übrig)
n - 2 = 8(es sind noch 8 Elemente in der Liste übrig)
n - 1 = 9(es sind noch 7 Elemente in der Liste übrig)

Nach dem Entfernen des 7. und 8. Elements verbleiben nur noch 8 Elemente in der Liste. Das bedeutet, dass das 9. Element nicht gelöscht werden kann – es kommt zu einem Fehler im Programm.

So entfernen Sie die Elemente richtig:

Option 1 Option 2
int n = list.size();
list.remove(n - 3);
list.remove(n - 3);
list.remove(n - 3);
int n = list.size();
list.remove(n - 1);
list.remove(n - 2);
list.remove(n - 3);

Die Elemente müssen entweder vom Ende oder von einer anderen konsistenten Position entfernt werden, da die Elemente nach jedem Entfernungsvorgang um eins verschoben werden.