CodeGym /Java Blog /Willekeurig /Java ArrayList addAll()-methode
John Squirrels
Niveau 41
San Francisco

Java ArrayList addAll()-methode

Gepubliceerd in de groep Willekeurig
Als u alle elementen van de ene ArrayList()- verzameling aan een andere wilt toevoegen, kunt u de methode addAll() van de Java ArrayList- klasse gebruiken. In dit artikel ga ik uitleggen hoe deze methode werkt en enkele codevoorbeelden geven.

ArrayList addAll() methodehandtekening

Er zijn twee varianten van de methode java.util.ArrayList.addAll . Daar zijn ze.

boolean addAll(Collection<? extends E> c)
Deze methode retourneert true als de lijst is gewijzigd als gevolg van de aanroep, maar het belangrijkste is dat alle elementen van de opgegeven verzameling aan het einde van deze lijst worden toegevoegd, in de volgorde waarin ze worden geretourneerd door de Iterator van de opgegeven verzameling. Element c is de lijst die aan uw ArrayList zal worden toegevoegd . Ook genereert de methode NullPointerException als de opgegeven verzameling null is.

boolean addAll(int index, Collection<? extends E> c)
Deze methode voegt alle elementen in de opgegeven verzameling c in deze lijst in, beginnend bij de opgegeven positie-index.

Syntaxisvoorbeeld ArrayList addAll().

Zo ziet de aanroep van de methode ArrayList addAll() eruit in een Java-programma:

myList.addAll(myNewList)) 
Waar myList de originele ArrayList is en myNewList een lijst, waarvan alle waarden worden toegevoegd aan myList als ze bestaan.

myList.addAll(2, myNewList)) 
Een variant van de methode ArrayList addAll() met twee parameters. Alle elementen uit myNewList worden toegevoegd aan myList , en het eerste element myNewList[0] wordt myList[2] , myNewList[1] wordt nu myList[3] , enzovoort. De elementen uit de originele lijst, beginnend bij nummer 2, worden overgedragen naar de staart van de nieuwe combolijst.

ArrayList addAll() codevoorbeelden

Nu is het tijd voor enkele codevoorbeelden. Laten we een lijst van onze vrienden maken en deze 'vrienden' noemen, en hun namen daar toevoegen. Stel, we zijn begonnen met studeren en hebben meteen een paar nieuwe vrienden gemaakt. Het is een goed moment om een ​​nieuwe vriendenlijst voor ze aan te maken. De tijd verstreek, je hebt ervoor gezorgd dat je nieuwe vrienden een keer echt zijn, dus besloot je ze naar de hoofdvriendenlijst te verplaatsen. U kunt dit doen met behulp van de methode addAll() . In het programma zullen we de initiële lijst met vrienden, de lijst met nieuwe vrienden, de bijgewerkte vriendenlijst en de booleaanse waarde die wordt geretourneerd door de methode addAll() naar de console afdrukken . Het retourneert true als de oorspronkelijke lijst is gewijzigd vanwege de werking van de methode en false als dit niet is gebeurd.

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);
       }
   }
de uitvoer is:
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] waar Mijn nieuwe lijst met nieuwe vrienden toegevoegd: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Als we dezelfde bewerking uitvoeren maar proberen een lege lijst aan vrienden toe te voegen, werkt de methode, maar retourneert deze false, niet waar omdat de oorspronkelijke lijst niet is gewijzigd.

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);
   }
}
De uitvoer is:
[Johnny, Ivy, Rick] [] false Mijn nieuwe lijst met nieuwe vrienden toegevoegd: [Johnny, Ivy, Rick]
Laten we nu de methode addAll() proberen met twee parameters.

boolean addAll(int index, Collection<? extends E> c)
Laten we weer nieuwe vrienden aan de lijst toevoegen, niet in de staart, maar in het midden. Laten we zeggen direct na Johnny, wat in ons geval element nummer nul is.

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);
   }
}
Het verwachte resultaat van het werk van het programma: Andrew is nu nummer 1 in de gecombineerde lijst, Alex - 2, Neil - 3, en Ivy, die eerder nummer 1 was, is opgeschoven naar de 4e positie.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] waar Mijn nieuwe lijst met nieuwe vrienden toegevoegd: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION