我正在使用谷歌搜索,似乎无法找到语法。根据用户设置,我的arraylist
可能会有不同的填充,因此我已将其初始化
ArrayList<Integer> arList = new ArrayList<Integer>();
现在我想添加数百个整数而不用arList.add(55);
答案 0 :(得分:87)
如果您有另一个列表,其中包含您要添加的所有项目,则可以执行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));
否则你必须有某种循环,将值单独添加到列表中。
答案 1 :(得分:25)
那些整数的“来源”是什么?如果您需要在源代码中进行硬编码,则可以执行
arList.addAll(Arrays.asList(1,1,2,3,5,8,13,21));
答案 2 :(得分:3)
如果您希望避免多个代码行来节省空间,可能这种语法可能很有用:
java.util.ArrayList lisFieldNames = new ArrayList() {
{
add("value1");
add("value2");
}
};
删除新行,您可以将其压缩为:
java.util.ArrayList lisFieldNames = new ArrayList() {
{
add("value1"); add("value2"); (...);
}
};
答案 3 :(得分:3)
Collections.addAll
是一种varargs方法,它允许我们在一个语句中向集合中添加任意数量的项:
List<Integer> list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);
它还可用于将数组元素添加到集合中:
Integer[] arr = ...;
Collections.addAll(list, arr);
答案 4 :(得分:0)
如果您需要添加很多整数,那么使用for循环可能最简单。例如,将28天添加到daysInFebruary数组中。
ArrayList<Integer> daysInFebruary = new ArrayList<>();
for(int i = 1; i <= 28; i++) {
daysInFebruary.add(i);
}
答案 5 :(得分:0)
答案 6 :(得分:-4)
我认为上面的答案是不正确的,用多个值初始化的正确方法就是这个......
int[] otherList ={1,2,3,4,5};
所以正确初始化的完整答案看起来像这样
int[] otherList ={1,2,3,4,5};
arList.addAll(Arrays.asList(otherList));