CodeGym /Java Blog /무작위의 /Java ArrayList addAll() 메소드
John Squirrels
레벨 41
San Francisco

Java ArrayList addAll() 메소드

무작위의 그룹에 게시되었습니다
한 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]
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION