CodeGym /Blog Java /Random-PL /Metoda Java ArrayList addAll().
Autor
Artem Divertitto
Senior Android Developer at United Tech

Metoda Java ArrayList addAll().

Opublikowano w grupie Random-PL
Jeśli chcesz dodać wszystkie elementy jednej kolekcji ArrayList() do innej, możesz użyć metody addAll() klasy Java ArrayList . W tym artykule wyjaśnię, jak działa ta metoda i przedstawię kilka przykładów kodu.

Sygnatura metody ArrayList addAll().

Istnieją dwa warianty metody java.util.ArrayList.addAll . Tutaj są.

boolean addAll(Collection<? extends E> c)
Ta metoda zwraca true, jeśli lista została zmieniona w wyniku wywołania, ale co najważniejsze, dodaje wszystkie elementy określonej kolekcji na koniec tej listy, w kolejności, w jakiej są zwracane przez Iterator określonej kolekcji. Element c to lista, która zostanie dodana do twojego ArrayList . Również metoda zgłasza wyjątek NullPointerException , jeśli określona kolekcja ma wartość null.

boolean addAll(int index, Collection<? extends E> c)
Ta metoda wstawia wszystkie elementy w określonej kolekcji c do tej listy, zaczynając od określonego indeksu pozycji.

Przykład składni ArrayList addAll().

Tak wygląda wywołanie metody ArrayList addAll() w programie Java:

myList.addAll(myNewList)) 
Gdzie myList to oryginalna ArrayList , a myNewList to lista, której wszystkie wartości zostaną dodane do myList , jeśli istnieją.

myList.addAll(2, myNewList)) 
Wariant metody ArrayList addAll() z dwoma parametrami. Wszystkie elementy z myNewList zostaną dodane do myList , a pierwszy element myNewList[0] stanie się myList[2] , myNewList[1] to teraz myList[3] i tak dalej. Elementy z oryginalnej listy, począwszy od numer 2, są przenoszone na koniec nowej listy kombinacji.

ArrayList addAll() przykłady kodu

Teraz czas na kilka przykładów kodu. Stwórzmy listę naszych przyjaciół, nazwijmy ją „przyjaciółmi” i dodajmy tam ich nazwiska. Powiedzmy, że zaczęliśmy studia i od razu poznaliśmy kilku nowych przyjaciół. To dobry moment, aby utworzyć dla nich nową listę Znajomych. Czas mijał, upewniłeś się kiedyś, że twoi nowi przyjaciele są prawdziwi, więc zdecydowałeś się przenieść ich na główną listę znajomych. Możesz to zrobić za pomocą metody addAll() . W programie wypiszemy na konsolę początkową listę znajomych, listę nowych znajomych, zaktualizowaną listę znajomych, a także wartość logiczną zwróconą przez metodę addAll( ) . Zwraca true, jeśli oryginalna lista została zmieniona w wyniku działania metody i false, jeśli tak się nie stało.

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);
       }
   }
wyjście to:
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] prawda Dodano moją nową listę z nowymi przyjaciółmi: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Jeśli wykonamy tę samą operację, ale spróbujemy dodać pustą listę do znajomych, metoda zadziała, ale zwróci wartość false, a nie true, ponieważ oryginalna lista nie uległa zmianie.

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);
   }
}
Dane wyjściowe to:
[Johnny, Ivy, Rick] [] false Moja nowa lista z dodanymi nowymi znajomymi: [Johnny, Ivy, Rick]
Wypróbujmy teraz metodę addAll() z dwoma parametrami.

boolean addAll(int index, Collection<? extends E> c)
Dodajmy ponownie nowych znajomych do listy, nie w ogonie, ale w środku. Powiedzmy zaraz po Jasiu, który w naszym przypadku jest elementem o numerze zero.

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);
   }
}
Oczekiwany efekt pracy programu: Andrew jest teraz numerem 1 na połączonej liście, Alex – 2, Neil – 3, a Ivy, która wcześniej była numerem 1, przesunęła się na 4 pozycję.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] prawda Dodano moją nową listę z nowymi przyjaciółmi: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION