介绍
在本文中,您将了解Java的列表
方法add()
和addAll()
。
Java 「列表」「添加()」
此方法用于将项目添加到列表中. 有两种方法可以将项目添加到列表中。
add(E)
:添加列表末尾的元素.由于List
支持Generics
,可添加的元素类型在创建列表时被确定add(int index, E element)
:将元素插入给定的index
。
以下是列表``添加()
方法的一些示例:
1package com.journaldev.examples;
2
3import java.util.ArrayList;
4import java.util.List;
5
6public class ListAddExamples {
7
8 public static void main(String[] args) {
9
10 List<String> vowels = new ArrayList<>();
11
12 vowels.add("A"); // [A]
13 vowels.add("E"); // [A, E]
14 vowels.add("U"); // [A, E, U]
15
16 System.out.println(vowels); // [A, E, U]
17
18 vowels.add(2, "I"); // [A, E, I, U]
19 vowels.add(3, "O"); // [A, E, I, O, U]
20
21 System.out.println(vowels); // [A, E, I, O, U]
22 }
23}
首先,此代码会将A
、E
和U
添加到列表中,并输出[A,E,U]
。
接下来,这个代码会将I
添加到2
的索引中以产生A,E,I,U
。然后,它会添加O
到3
的索引中以产生A,E,I,O,U
。
Java「列表」「添加所有()」
此方法用于将集合中的元素添加到列表中. 有两个过载的 addAll()
方法。
addAll(Collection<?延伸E>c)
:此方法将数据集中的所有元素附加到列表的末尾。插入的顺序取决于数据集迭代器返回的顺序addAll(int index, Collection<?延伸E>c)
:我们可以使用此方法将数据集中的元素插入数据集中的index
。
以下是列表``addAll()
方法的一些示例:
1package com.journaldev.examples;
2
3import java.util.ArrayList;
4import java.util.Arrays;
5import java.util.List;
6
7public class ListAddAllExamples {
8
9 public static void main(String[] args) {
10
11 List<Integer> primeNumbers = new ArrayList<>();
12
13 primeNumbers.addAll(Arrays.asList(2, 7, 11));
14
15 System.out.println(primeNumbers); // [2, 7, 11]
16
17 primeNumbers.addAll(1, Arrays.asList(3, 5));
18
19 System.out.println(primeNumbers); // [2, 3, 5, 7, 11]
20 }
21}
首先,此代码会创建一个新的列表,其值为[2, 7, 11]
。
然后,这个第二个列表被添加到第一个列表中addAll()
与1
的索引。
「不支持操作例外」使用「列表」、「添加()」方法
列表
、add()
和addAll()
方法文档指出,该操作被列为可选的,这意味着列表实现程序可能不支持它,在这种情况下,列表中的add()
方法会投UnsupportedOperationException
。
Arrays.asList()
: 此方法返回一个 fixed-size 列表,因为它是由指定的数组支持的。 任何改变列表大小的操作都会丢弃UnsupportedOperationException
.Collections.unmodifiableList(List l)
: 此方法返回给定列表的不可更改的视图。
以下是不受支持操作例外
在固定大小列表中的添加
操作的示例:
1jshell> List<Integer> ints = Arrays.asList(1,2,3);
2ints ==> [1, 2, 3]
3
4jshell> ints.add(4);
5| Exception java.lang.UnsupportedOperationException
6| at AbstractList.add (AbstractList.java:153)
7| at AbstractList.add (AbstractList.java:111)
8| at (#4:1)
首先,此代码会创建一个固定大小列表的 [1, 2, 3]
. 然后,此代码会尝试将 4
添加到列表中。
以下是不受支持操作例外
的示例,在给定列表的不可更改视图上使用添加
操作:
1jshell> List<String> strs = new ArrayList<>();
2strs ==> []
3
4jshell> strs.add("A");
5$6 ==> true
6
7jshell> List<String> strs1 = Collections.unmodifiableList(strs);
8strs1 ==> [A]
9
10jshell> strs1.add("B");
11| Exception java.lang.UnsupportedOperationException
12| at Collections$UnmodifiableCollection.add (Collections.java:1058)
13| at (#8:1)
首先,此代码将A
添加到列表中,接下来,此代码将B
添加到前列表的不可更改的视图中,从而丢弃UnsupportedOperationException
。
结论
在本文中,您了解了Java的列表
方法add()
和addAll()
。
推荐阅读**:
** 参考:**