如果成功插入元素,返回 true。
如果给定的集合为 null,则超出 NullPointerException 异常。
注意:如果 index 超出范围,则该方法抛出 IndexOutOfBoundsException 异常。
使用 ArrayList addAll() 方法插入元素:
import
java.util.ArrayList
;
class
Main
{
public
static
void
main
(
String
[
]
args
)
{
// 创建一个动态数组
ArrayList
<
Integer
>
primeNumbers
=
new
ArrayList
<>
(
)
;
// 往动态数组里添加元素
primeNumbers.
add
(
3
)
;
primeNumbers.
add
(
5
)
;
System
.
out
.
println
(
"Prime Numbers: "
+
primeNumbers
)
;
// 创建另外的一个动态数组
ArrayList
<
Integer
>
numbers
=
new
ArrayList
<>
(
)
;
numbers.
add
(
1
)
;
numbers.
add
(
2
)
;
// 把 primeNumbers 的所有元素添加到 numbers 的动态数组中
numbers.
addAll
(
primeNumbers
)
;
System
.
out
.
println
(
"Numbers: "
+
numbers
)
;
执行以上程序输出结果为:
Prime Numbers: [3, 5]
Numbers: [1, 2, 3, 5]
在上面的示例中,我们创建了两个动态数组,分别为 primeNumbers 和 numbers。
请注意这一行:
numbers.addAll(primeNumbers);
这里的 addAll() 方法中并没有传入可选参数 index。因此,primeNumbers 中的所有元素都添加到 numbers 的末尾。
在指定位置插入元素:
import
java.util.ArrayList
;
class
Main
{
public
static
void
main
(
String
[
]
args
)
{
ArrayList
<
String
>
languages1
=
new
ArrayList
<>
(
)
;
languages1.
add
(
"Java"
)
;
languages1.
add
(
"Python"
)
;
System
.
out
.
println
(
"ArrayList 1: "
+
languages1
)
;
// 创建另一个数组
ArrayList
<
String
>
languages2
=
new
ArrayList
<>
(
)
;
languages2.
add
(
"JavaScript"
)
;
languages2.
add
(
"C"
)
;
System
.
out
.
println
(
"ArrayList 2: "
+
languages2
)
;
// 在索引值为1的位置将数组 languages1 的所有元素添加到 languages2
languages2.
addAll
(
1
, languages1
)
;
System
.
out
.
println
(
"更新 ArrayList 2: "
+
languages2
)
;
执行以上程序输出结果为:
ArrayList 1:[Java,Python]
ArrayList 2:[JavaScript,C]
更新 ArrayList 2:[JavaScript,Java,Python,C]
请注意这一行:
languages2.addAll(1, languages1);
这里的 addAll() 方法中传入了 index 这个可选参数。因此,数组 languages1 中所有元素都添加到数组 languages 索引值为 1 的位置中。
将集合 Set 中的元素插入到动态数组中:
import
java.util.ArrayList
;
import
java.util.HashSet
;
class
Main
{
public
static
void
main
(
String
[
]
args
)
{
// 创建一个String类型的hashset
HashSet
<
String
>
set
=
new
HashSet
<>
(
)
;
// 往hashset中添加元素
set.
add
(
"Java"
)
;
set.
add
(
"Python"
)
;
set.
add
(
"JavaScript"
)
;
System
.
out
.
println
(
"HashSet: "
+
set
)
;
// 创建一个数组
ArrayList
<
String
>
list
=
new
ArrayList
<>
(
)
;
// 往数组中添加元素
list.
add
(
"English"
)
;
System
.
out
.
println
(
"初始化 ArrayList: "
+
list
)
;
// hashset中所有的元素添加至数组中
list.
addAll
(
set
)
;
System
.
out
.
println
(
"更新 ArrayList: "
+
list
)
;
执行以上程序输出结果为:
Set: [Java, JavaScript, Python]
初始化 ArrayList: [English]
更新 ArrayList: [English, Java, JavaScript, Python]
以上实例中,我们创建了一个名为 set 的 hashset 类和一个名为 list 的动态数组,注意这一行:
list.addAll(set);
我们使用了 addAll() 方法将 hashset 中的所有元素添加到动态数组中。该方法没有传入可选参数 index。因此,所有元素都添加在动态数组的末尾。
Java ArrayList