將多個元素添加到Java ArrayList

1. ArrayList概述

在本快速教程中,我們將展示如何將多個項目添加到已初始化的ArrayList

有關ArrayList用法的簡介,請在此處參考本文。

2. AddAll

首先,我們將介紹一種將多個項目添加到ArrayList的簡單方法。

首先,我們將使用addAll() ,它將一個集合作為其參數:

List<Integer> anotherList = Arrays.asList(5, 12, 9, 3, 15, 88);

 list.addAll(anotherList);

重要的是要記住,第一個列表中添加的元素將引用與anotherList的元素相同的對象。

因此,對這些元素之一進行的每項修改都會影響兩個列表。

3. Collections.addAll

Collections類僅由對集合進行操作或返回集合的靜態方法組成。

其中之一是addAll ,它需要一個目標列表,要添加的項目可以單獨指定或作為數組指定。

這是一個如何與單個元素一起使用的示例:

List<Integer> list = new ArrayList<>();

 Collections.addAll(list, 1, 2, 3, 4, 5);

另一個用兩個數組來舉例說明該操作:

List<Integer> list = new ArrayList<>();

 Integer[] otherList = new Integer[] {1, 2, 3, 4, 5};

 Collections.addAll(list, otherList);

與上一節中解釋的方式類似,此處兩個列表的內容將引用相同的對象。

4.使用Java 8

此版本的Java通過添加新工具為我們打開了可能性。我們將在下一個示例中探索的是Stream

List<Integer> source = ...;

 List<Integer> target = ...;



 source.stream()

 .forEachOrdered(target::add);

這種方式的主要優點是可以使用跳過和過濾器。在下一個示例中,我們將跳過第一個元素:

source.stream()

 .skip(1)

 .forEachOrdered(target::add);

可以根據我們的需要過濾元素。例如,整數值:

source.stream()

 .filter(i -> i > 10)

 .forEachOrdered(target::add);

最後,在某些情況下,我們希望以null安全的方式工作。對於那些,我們可以使用Optional

Optional.ofNullable(source).ifPresent(target::addAll)

在上面的示例中,我們通過addAll方法將元素從source添加到target

5.結論

在本文中,我們探討了將多個項目添加到已初始化的ArrayList不同方法。

與往常一樣,可以在GitHub上找到代碼示例。