CodeGym /Java 博客 /随机的 /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,但最重要的是,它将指定集合的​​所有元素添加到此列表的末尾,按照它们由指定集合的​​迭代器返回的顺序。元素 c 是将添加到ArrayList中的列表。如果指定的集合为空, 该方法也会抛出NullPointerException 。

boolean addAll(int index, Collection<? extends E> c)
此方法将指定集合c 中的所有元素插入此列表,从指定位置索引开始。

ArrayList addAll() 语法示例

这是在 Java 程序中调用 ArrayList addAll()方法的样子:

myList.addAll(myNewList)) 
其中myList是原始ArrayListmyNewList是一个列表,如果存在, 则将其所有值添加到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] 是的 我添加了新朋友的新列表:[Johnny, Andrew, Alex, Neil, Ivy, Rick]
如果我们做同样的操作,但尝试向朋友添加一个空列表,该方法会工作,但它会返回 false,而不是 true,因为原始列表没有改变。

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)
让我们再次将新朋友添加到列表中,不是在尾部,而是在中间。假设紧接在 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 现在在合并列表中排名第一,Alex - 2,Neil - 3,而之前排名第一的 Ivy 已移至第 4 位。
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] 是的 我添加了新朋友的新列表:[Johnny, Andrew, Alex, Neil, Ivy, Rick]
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION