CodeGym /Java blogg /Slumpmässig /Java ArrayList addAll()-metoden
John Squirrels
Nivå
San Francisco

Java ArrayList addAll()-metoden

Publicerad i gruppen
Om du behöver lägga till alla element i en ArrayList() -samling till en annan, kan du använda metoden addAll() för Java ArrayList -klassen. I den här artikeln ska jag förklara hur den här metoden fungerar och ge några kodexempel.

ArrayList addAll() metodsignatur

Det finns två varianter av metoden java.util.ArrayList.addAll . Här är de.

boolean addAll(Collection<? extends E> c)
Denna metod returnerar true om listan ändrades som ett resultat av anropet, men viktigast av allt, den lägger till alla element i den angivna samlingen i slutet av listan, i den ordning som de returneras av den angivna samlingens Iterator. Element c är listan som kommer att läggas till i din ArrayList . Metoden kastar också NullPointerException om den angivna samlingen är null.

boolean addAll(int index, Collection<? extends E> c)
Denna metod infogar alla element i den angivna samlingen c i den här listan, med början vid det angivna positionsindexet.

ArrayList addAll() syntaxexempel

Så här ser anropet till ArrayList addAll() -metoden ut i ett Java-program:

myList.addAll(myNewList)) 
Där myList är den ursprungliga ArrayList och myNewList är en lista, vars alla värden kommer att läggas till i myList om de finns.

myList.addAll(2, myNewList)) 
En variant av ArrayList addAll() -metoden med två parametrar. Alla element från myNewList kommer att läggas till i myList , och det första elementet myNewList[0] blir myList[2] , myNewList[1] är nu myList[3] och så vidare. Elementen från den ursprungliga listan, från och med nummer 2, förs över till svansen av den nya kombinationslistan.

ArrayList addAll()-kodexempel

Nu är det dags för några kodexempel. Låt oss skapa en lista över våra vänner och kalla den "vänner" och lägga till deras namn där. Säg, vi började på college och fick några nya vänner på en gång. Det är ett bra tillfälle att skapa en ny vänlista åt dem. Tiden gick, du såg till att dina nya vänner var riktiga en gång, så du bestämde dig för att flytta dem till huvudvännerlistan. Du kan göra det med metoden addAll() . I programmet kommer vi att skriva ut den initiala listan över vänner, listan över nya vänner, den uppdaterade listan med vänner, samt det booleska värdet som returneras av metoden addAll() till konsolen . Den returnerar sant om den ursprungliga listan ändrades på grund av metodens funktion och falsk om detta inte hände.

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);
       }
   }
utgången är:
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] sant Min nya lista med nya vänner har lagts till: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Om vi ​​gör samma operation men försöker lägga till en tom lista till vänner kommer metoden att fungera, men den kommer att returnera falskt, inte sant eftersom den ursprungliga listan inte har ändrats.

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);
   }
}
Utgången är:
[Johnny, Ivy, Rick] [] false Min nya lista med nya vänner har lagts till: [Johnny, Ivy, Rick]
Låt oss nu prova metoden addAll() med två parametrar.

boolean addAll(int index, Collection<? extends E> c)
Låt oss lägga till nya vänner till listan igen, inte i svansen, utan i mitten. Låt oss säga direkt efter Johnny, som i vårt fall är element numrerat noll.

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);
   }
}
Det förväntade resultatet av programmets arbete: Andrew är nu nummer 1 i den kombinerade listan, Alex - 2, Neil - 3 och Ivy, som var # 1 tidigare, har flyttat till 4:e plats.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] sant Min nya lista med nya vänner har lagts till: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION