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

Java ArrayList addAll()-metoden

Publisert i gruppen
Hvis du trenger å legge til alle elementene i en ArrayList()- samling til en annen, kan du bruke addAll()- metoden i Java ArrayList- klassen. I denne artikkelen skal jeg forklare hvordan denne metoden fungerer og gi noen kodeeksempler.

ArrayList addAll()-metodesignatur

Det er to varianter av java.util.ArrayList.addAll -metoden. Her er de.

boolean addAll(Collection<? extends E> c)
Denne metoden returnerer true hvis listen ble endret som et resultat av kallet, men viktigst av alt, den legger til alle elementene i den spesifiserte samlingen på slutten av denne listen, i den rekkefølgen de returneres av den angitte samlingens iterator. Element c er listen som vil bli lagt til i ArrayList . Metoden kaster også NullPointerException hvis den angitte samlingen er null.

boolean addAll(int index, Collection<? extends E> c)
Denne metoden setter inn alle elementene i den spesifiserte samlingen c i denne listen, og starter med den angitte posisjonsindeksen.

ArrayList addAll()-syntakseksempel

Slik ser kallet til ArrayList addAll() -metoden ut i et Java-program:

myList.addAll(myNewList)) 
Der myList er den opprinnelige ArrayList og myNewList er en liste, der alle verdier vil bli lagt til minList hvis de eksisterer.

myList.addAll(2, myNewList)) 
En variant av ArrayList addAll() -metoden med to parametere. Alle elementene fra myNewList vil bli lagt til minList , og det første elementet myNewList[0] blir minList[2] , minNewList[1] er nå minList[3] , og så videre. Elementene fra den opprinnelige listen starter fra kl. nummer 2, overføres til halen på den nye kombinasjonslisten.

ArrayList addAll() kodeeksempler

Nå er det tid for noen kodeeksempler. La oss lage en liste over vennene våre, og kalle det 'venner', og legge til navnene deres der. La oss si at vi begynte på college og fikk noen nye venner på en gang. Det er et godt øyeblikk å lage en ny venneliste for dem. Tiden gikk, du sørget for at de nye vennene dine var ekte en gang, så du bestemte deg for å flytte dem til hovedvennelisten. Du kan gjøre det ved å bruke addAll() -metoden. I programmet vil vi skrive ut til konsollen den første vennelisten, listen over nye venner, den oppdaterte vennelisten, samt den boolske verdien som returneres av addAll()- metoden . Den returnerer true hvis den opprinnelige listen ble endret på grunn av operasjonen til metoden og false hvis dette ikke skjedde.

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);
       }
   }
utgangen er:
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] sant Min nye liste med nye venner lagt til: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Hvis vi gjør samme operasjon, men prøver å legge til en tom liste til venner, vil metoden fungere, men den vil returnere usann, ikke sant siden den opprinnelige listen ikke har endret seg.

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);
   }
}
Utgangen er:
[Johnny, Ivy, Rick] [] false Min nye liste med nye venner lagt til: [Johnny, Ivy, Rick]
La oss nå prøve addAll() -metoden med to parametere.

boolean addAll(int index, Collection<? extends E> c)
La oss legge til nye venner på listen igjen, ikke i halen, men i midten. La oss si rett etter Johnny, som i vårt tilfelle er element nummerert 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);
   }
}
Det forventede resultatet av programmets arbeid: Andrew er nå nummer 1 på den kombinerte listen, Alex - 2, Neil - 3, og Ivy, som var # 1 før, har flyttet til 4. plass.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] sant Min nye liste med nye venner lagt til: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION