我正在搜索它,但似乎找不到语法。我arraylist
可能会被填充不同的基于用户设置,所以我初始化它
ArrayList<Integer> arList = new ArrayList<Integer>();
现在我想添加数百个整数而不用 arList.add(55);
Answers:
如果您还有另一个列表,其中包含要添加的所有项目,则可以执行arList.addAll(otherList)
。另外,如果您总是将相同的元素添加到列表中,则可以创建一个新列表,该列表被初始化为包含所有值并使用addAll()
方法,例如
Integer[] otherList = new Integer[] {1, 2, 3, 4, 5};
arList.addAll(Arrays.asList(otherList));
或者,如果您不想创建该不必要的数组:
arList.addAll(Arrays.asList(1, 2, 3, 4, 5));
否则,您将不得不进行某种循环,将值分别添加到列表中。
这些整数的“来源”是什么?如果您需要在源代码中进行硬编码,则可以这样做
arList.addAll(Arrays.asList(1,1,2,3,5,8,13,21));
Collections.addAll
是一个varargs方法,它允许我们在单个语句中将任意数量的项目添加到集合中:
List<Integer> list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);
它还可以用于将数组元素添加到集合中:
Integer[] arr = ...;
Collections.addAll(list, arr);
如果您希望避免多行代码来节省空间,则此语法可能会很有用:
java.util.ArrayList lisFieldNames = new ArrayList() {
{
add("value1");
add("value2");
}
};
删除新行,可以将其压缩为:
java.util.ArrayList lisFieldNames = new ArrayList() {
{
add("value1"); add("value2"); (...);
}
};
我相信上面的答案是不正确的,用多个值初始化的正确方法是这样...
int[] otherList ={1,2,3,4,5};
因此,正确初始化的完整答案如下所示
int[] otherList ={1,2,3,4,5};
arList.addAll(Arrays.asList(otherList));