Java 在列表中如何插入特定索引的元素
解决方案
我们可以使用addall()方法将一个列表的所有元素轻松地添加到另一个列表的指定索引。
语法
boolean addAll(int index, Collection<? extends E> c)
将指定集合中的所有元素插入到列表的指定位置(可选操作)。将当前位置上的元素(如果有)和后续元素向右移动(增加其索引)。新元素将按照指定集合的迭代器返回它们的顺序出现在列表中。
类型参数
- E - 集合的运行时类型。
参数
- index - 要插入指定集合中第一个元素的索引。
-
c - 包含要添加到此列表的元素的集合。
返回值
如果调用导致此列表发生了变化,则返回true。
抛出
- UnsupportedOperationException - 如果此列表不支持addAll操作。
-
ClassCastException - 如果指定集合的某个元素的类别不允许将其添加到此列表中。
-
NullPointerException - 如果指定集合包含一个或多个null元素且此列表不允许null元素,或者如果指定集合为null。
-
IllegalArgumentException - 如果指定集合的某个元素的某个属性不允许将其添加到此列表中。
-
IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index gt; size())。
示例
以下示例展示了如何使用addAll()方法将一个列表中的所有元素添加到另一个列表的特定索引处。
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
// Create a list object
List<Integer> list = new ArrayList<>();
// add elements to the list
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
// print the list
System.out.println(list);
List<Integer> list1 = new ArrayList<>();
list1.add(0);
list1.addAll(0,list);
System.out.println(list1);
}
}
输出
这将产生以下结果-
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 0]