在java中为已初始化的arraylist添加多个项目

时间:2013-03-05 00:58:57

标签: java arraylist collections

我正在使用谷歌搜索,似乎无法找到语法。根据用户设置,我的arraylist可能会有不同的填充,因此我已将其初始化

ArrayList<Integer> arList = new ArrayList<Integer>();

现在我想添加数百个整数而不用arList.add(55);

逐个完成

7 个答案:

答案 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)

Java 9+ 现在允许这样做:

List<Integer> arList = List.of(1,2,3,4,5);

不过列表将是 immutable

答案 6 :(得分:-4)

我认为上面的答案是不正确的,用多个值初始化的正确方法就是这个......

int[] otherList ={1,2,3,4,5};

所以正确初始化的完整答案看起来像这样

int[] otherList ={1,2,3,4,5};
arList.addAll(Arrays.asList(otherList));