CodeGym /Java-Blog /Random-DE /Java ArrayList addAll()-Methode
Autor
Artem Divertitto
Senior Android Developer at United Tech

Java ArrayList addAll()-Methode

Veröffentlicht in der Gruppe Random-DE
Wenn Sie alle Elemente einer ArrayList()- Sammlung zu einer anderen hinzufügen müssen, können Sie die addAll()- Methode der Java- ArrayList- Klasse verwenden. In diesem Artikel werde ich erklären, wie diese Methode funktioniert, und einige Codebeispiele bereitstellen.

Signatur der ArrayList addAll()-Methode

Es gibt zwei Varianten der Methode java.util.ArrayList.addAll . Hier sind sie.

boolean addAll(Collection<? extends E> c)
Diese Methode gibt „true“ zurück, wenn die Liste als Ergebnis des Aufrufs geändert wurde. Am wichtigsten ist jedoch, dass sie alle Elemente der angegebenen Sammlung am Ende dieser Liste in der Reihenfolge hinzufügt, in der sie vom Iterator der angegebenen Sammlung zurückgegeben werden. Element c ist die Liste, die Ihrer ArrayList hinzugefügt wird . Außerdem löst die Methode eine NullPointerException aus , wenn die angegebene Sammlung null ist.

boolean addAll(int index, Collection<? extends E> c)
Diese Methode fügt alle Elemente in der angegebenen Sammlung c in diese Liste ein, beginnend am angegebenen Positionsindex.

Syntaxbeispiel für ArrayList addAll()

So sieht der Aufruf der ArrayList addAll() -Methode in einem Java-Programm aus:

myList.addAll(myNewList)) 
Dabei ist myList die ursprüngliche ArrayList und myNewList eine Liste, deren Werte alle zu myList hinzugefügt werden, sofern sie vorhanden sind.

myList.addAll(2, myNewList)) 
Eine Variante der ArrayList addAll() -Methode mit zwei Parametern. Alle Elemente aus myNewList werden zu myList hinzugefügt und das erste Element myNewList[0] wird zu myList[2] , myNewList[1] ist jetzt myList[3] usw. Die Elemente aus der ursprünglichen Liste, beginnend mit Nummer 2, werden an das Ende der neuen Kombinationsliste übertragen.

Codebeispiele für ArrayList addAll()

Jetzt ist es Zeit für einige Codebeispiele. Erstellen wir eine Liste unserer Freunde, nennen sie „Freunde“ und fügen dort ihre Namen hinzu. Sagen wir mal, wir haben mit dem College angefangen und gleich ein paar neue Freunde gefunden. Es ist ein guter Zeitpunkt, eine neue Freundesliste für sie zu erstellen. Es ist Zeit vergangen, Sie haben einmal sichergestellt, dass Ihre neuen Freunde echt sind, und haben beschlossen, sie in die Haupt-Freundesliste zu verschieben. Sie können dies mit der Methode addAll() tun . Im Programm drucken wir auf der Konsole die ursprüngliche Freundesliste, die Liste der neuen Freunde, die aktualisierte Freundesliste sowie den booleschen Wert, der von der Methode addAll() zurückgegeben wird . Es gibt „true“ zurück, wenn die ursprüngliche Liste aufgrund der Operation der Methode geändert wurde, und „false“, wenn dies nicht geschehen ist.

import java.util.ArrayList;
import java.util.List;

public class AddAllDemo {
       public static void main(String[] args) {

           List<String> friends = new ArrayList<>();
           friends.add("Johnny");
           friends.add("Ivy");
           friends.add("Rick");
           System.out.println(friends);
           List<String> newFriends = new ArrayList<>();
           newFriends.add("Andrew");
           newFriends.add("Alex");
           newFriends.add("Neil");
           System.out.println(newFriends);
           //let's print out the value addAll() method returns
           //here it's true because list friends was changed
           System.out.println(friends.addAll(newFriends));
           System.out.println("My new list with new friends added: ");
           System.out.println(friends);
       }
   }
Die Ausgabe ist:
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] wahr Meine neue Liste mit neuen Freunden hinzugefügt: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Wenn wir den gleichen Vorgang ausführen, aber versuchen, den Freunden eine leere Liste hinzuzufügen, funktioniert die Methode, gibt jedoch „false“ und nicht „true“ zurück, da sich die ursprüngliche Liste nicht geändert hat.

import java.util.ArrayList;
       import java.util.List;

public class AddAllDemo3 {
   public static void main(String[] args) {
       List<String> friends = new ArrayList<>();
       friends.add("Johnny");
       friends.add("Ivy");
       friends.add("Rick");
       System.out.println(friends);
       List<String> newFriends = new ArrayList<>();
       System.out.println(newFriends);
       System.out.println(friends.addAll(newFriends));
       System.out.println("My new list with new friends added: ");
       System.out.println(friends);
   }
}
Die Ausgabe ist:
[Johnny, Ivy, Rick] [] false Meine neue Liste mit neuen Freunden hinzugefügt: [Johnny, Ivy, Rick]
Versuchen wir nun die Methode addAll() mit zwei Parametern.

boolean addAll(int index, Collection<? extends E> c)
Fügen wir der Liste noch einmal neue Freunde hinzu, nicht am Ende, sondern in der Mitte. Sagen wir direkt nach Johnny, in unserem Fall ist das Element die Nummer Null.

import java.util.ArrayList;
import java.util.List;

public class AddAllDemo2 {
   public static void main(String[] args) {

       List<String> friends = new ArrayList<>();
       friends.add("Johnny");
       friends.add("Ivy");
       friends.add("Rick");
       System.out.println(friends);
       List<String> newFriends = new ArrayList<>();
       newFriends.add("Andrew");
       newFriends.add("Alex");
       newFriends.add("Neil");
       System.out.println(newFriends);
       System.out.println(friends.addAll(1, newFriends));
       System.out.println("My new list with new friends added: ");
       System.out.println(friends);
   }
}
Das erwartete Ergebnis der Arbeit des Programms: Andrew ist jetzt die Nummer 1 in der kombinierten Liste, Alex - 2, Neil - 3 und Ivy, die zuvor die Nummer 1 war, ist auf die 4. Position vorgerückt.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil]wahr Meine neue Liste mit neuen Freunden hinzugefügt: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION