ํ•œ ArrayList() ์ปฌ๋ ‰์…˜ ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ โ€‹โ€‹๋‹ค๋ฅธ ์ปฌ๋ ‰์…˜์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ Java ArrayList ํด๋ž˜์Šค์˜ addAll() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์ด ๋ฐฉ๋ฒ•์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ArrayList addAll() ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜

java.util.ArrayList.addAll ๋ฉ”์†Œ๋“œ ์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ณ€ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค . ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค.

boolean addAll(Collection<? extends E> c)
์ด ๋ฉ”์„œ๋“œ๋Š” ํ˜ธ์ถœ ๊ฒฐ๊ณผ ๋ชฉ๋ก์ด ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ง€์ •๋œ ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ โ€‹โ€‹์ง€์ •๋œ ์ปฌ๋ ‰์…˜์˜ Iterator๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ด ๋ชฉ๋ก์˜ ๋์— ์ถ”๊ฐ€ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์š”์†Œ c๋Š” ArrayList ์— ์ถ”๊ฐ€๋  ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค . ๋˜ํ•œ ์ง€์ •๋œ ์ปฌ๋ ‰์…˜์ด null์ธ ๊ฒฝ์šฐ ๋ฉ”์„œ๋“œ์—์„œ NullPointerException์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

boolean addAll(int index, Collection<? extends E> c)
์ด ๋ฉ”์„œ๋“œ๋Š” ์ง€์ •๋œ ์œ„์น˜ ์ธ๋ฑ์Šค์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ง€์ •๋œ ์ปฌ๋ ‰์…˜ c ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ โ€‹โ€‹์ด ๋ชฉ๋ก์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค .

ArrayList addAll() ๊ตฌ๋ฌธ ์˜ˆ์ œ

Java ํ”„๋กœ๊ทธ๋žจ์—์„œ ArrayList addAll() ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

myList.addAll(myNewList)) 
์—ฌ๊ธฐ์„œ myList ๋Š” ์›๋ž˜ ArrayList ์ด๊ณ  myNewList๋Š” ๋ชฉ๋ก์ด๋ฉฐ ๋ชจ๋“  ๊ฐ’์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ myList ์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค .

myList.addAll(2, myNewList)) 
๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ€ ๋‘ ๊ฐœ์ธ ArrayList addAll() ๋ฉ”์„œ๋“œ ์˜ ๋ณ€ํ˜•์ž…๋‹ˆ๋‹ค . myNewList ์˜ ๋ชจ๋“  ์š”์†Œ๋Š” myList ์— ์ถ”๊ฐ€๋˜๊ณ  ์ฒซ ๋ฒˆ์งธ ์š”์†Œ myNewList[0] ๋Š” myList[2] ๊ฐ€ ๋˜๊ณ  , myNewList[1]์€ ์ด์ œ myList[3] ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค . ์›๋ž˜ ๋ชฉ๋ก์˜ ์š”์†Œ๋Š” ๋ฒˆํ˜ธ 2๋Š” ์ƒˆ ์ฝค๋ณด ๋ชฉ๋ก์˜ ๋์œผ๋กœ ์ด์›”๋ฉ๋‹ˆ๋‹ค.

ArrayList addAll() ์ฝ”๋“œ ์˜ˆ์ œ

์ด์ œ ๋ช‡ ๊ฐ€์ง€ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์นœ๊ตฌ ๋ชฉ๋ก์„ ๋งŒ๋“ค๊ณ  ์ด๋ฆ„์„ '์นœ๊ตฌ'๋กœ ์ง€์ •ํ•˜๊ณ  ๊ฑฐ๊ธฐ์— ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•ด ๋ด…์‹œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์šฐ๋ฆฌ๋Š” ๋Œ€ํ•™์„ ์‹œ์ž‘ํ–ˆ๊ณ  ํ•œ ๋ฒˆ์— ๋ช‡ ๋ช…์˜ ์ƒˆ๋กœ์šด ์นœ๊ตฌ๋ฅผ ์‚ฌ๊ท€์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์นœ๊ตฌ ๋ชฉ๋ก์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐํšŒ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ์ƒˆ ์นœ๊ตฌ๊ฐ€ ์ง„์งœ์ธ์ง€ ํ•œ ๋ฒˆ ํ™•์ธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ ์นœ๊ตฌ ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. addAll() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ดˆ๊ธฐ ์นœ๊ตฌ ๋ชฉ๋ก, ์ƒˆ ์นœ๊ตฌ ๋ชฉ๋ก, ์—…๋ฐ์ดํŠธ๋œ ์นœ๊ตฌ ๋ชฉ๋ก ๋ฐ addAll() ๋ฉ”์„œ๋“œ ์—์„œ ๋ฐ˜ํ™˜๋œ ๋ถ€์šธ ๊ฐ’์„ ์ฝ˜์†”์— ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค . ๋ฉ”์„œ๋“œ์˜ ์ž‘๋™์œผ๋กœ ์ธํ•ด ์›๋ž˜ ๋ชฉ๋ก์ด ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

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);
       }
   }
์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] true ์ƒˆ ์นœ๊ตฌ๊ฐ€ ์ถ”๊ฐ€๋œ ๋‚ด ์ƒˆ ๋ชฉ๋ก: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ์นœ๊ตฌ์—๊ฒŒ ๋นˆ ๋ชฉ๋ก์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋ฐฉ๋ฒ•์ด ์ž‘๋™ํ•˜์ง€๋งŒ ์›๋ž˜ ๋ชฉ๋ก์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ true๊ฐ€ ์•„๋‹Œ false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

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);
   }
}
์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
[Johnny, Ivy, Rick] [] false ์ƒˆ ์นœ๊ตฌ๊ฐ€ ์ถ”๊ฐ€๋œ ๋‚ด ์ƒˆ ๋ชฉ๋ก: [Johnny, Ivy, Rick]
์ด์ œ ๋‘ ๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ addAll() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .

boolean addAll(int index, Collection<? extends E> c)
๊ผฌ๋ฆฌ๊ฐ€ ์•„๋‹Œ ์ค‘๊ฐ„์— ์ƒˆ๋กœ์šด ์นœ๊ตฌ๋ฅผ ๋ชฉ๋ก์— ๋‹ค์‹œ ์ถ”๊ฐ€ํ•ฉ์‹œ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ์š”์†Œ ๋ฒˆํ˜ธ๊ฐ€ 0์ธ Johnny ๋ฐ”๋กœ ๋‹ค์Œ์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.

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);
   }
}
ํ”„๋กœ๊ทธ๋žจ ์ž‘์—…์˜ ์˜ˆ์ƒ ๊ฒฐ๊ณผ : Andrew๋Š” ์ด์ œ ํ†ตํ•ฉ ๋ชฉ๋ก์—์„œ 1 ์œ„, Alex - 2, Neil - 3, ์ด์ „์— 1 ์œ„์˜€๋˜ Ivy๋Š” 4 ์œ„๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] true ์ƒˆ ์นœ๊ตฌ๊ฐ€ ์ถ”๊ฐ€๋œ ๋‚ด ์ƒˆ ๋ชฉ๋ก: [Johnny, Andrew, Alex, Neil, Ivy, Rick]