如何为 Java 列表使用 add() 和 addAll() 方法

介绍

在本文中,您将了解Java的列表方法add()addAll()

Java 「列表」「添加()」

此方法用于将项目添加到列表中. 有两种方法可以将项目添加到列表中。

  1. add(E):添加列表末尾的元素.由于 List 支持 Generics,可添加的元素类型在创建列表时被确定
  2. 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}

首先,此代码会将AEU添加到列表中,并输出[A,E,U]

接下来,这个代码会将I添加到2的索引中以产生A,E,I,U。然后,它会添加O3的索引中以产生A,E,I,O,U

Java「列表」「添加所有()」

此方法用于将集合中的元素添加到列表中. 有两个过载的 addAll() 方法。

  1. addAll(Collection<?延伸E>c):此方法将数据集中的所有元素附加到列表的末尾。插入的顺序取决于数据集迭代器返回的顺序
  2. 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

  1. Arrays.asList(): 此方法返回一个 fixed-size 列表,因为它是由指定的数组支持的。 任何改变列表大小的操作都会丢弃 UnsupportedOperationException.
  2. 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()

推荐阅读**:

** 参考:**

Published At
Categories with 技术
Tagged with
comments powered by Disqus