在java中向已初始化的arraylist添加多个项
我在谷歌上搜索,似乎找不到语法。我的在java中向已初始化的arraylist添加多个项,java,arraylist,collections,Java,Arraylist,Collections,我在谷歌上搜索,似乎找不到语法。我的arraylist可能会根据用户设置以不同方式填充,因此我已对其进行了初始化 ArrayList<Integer> arList = new ArrayList<Integer>(); ArrayList arList=new ArrayList(); 现在我想用arList.add(55)一个接一个地添加上百个整数如果您有另一个列表,其中包含要添加的所有项目,则可以执行arList.addAll(otherList)。或者,如果总
arraylist
可能会根据用户设置以不同方式填充,因此我已对其进行了初始化
ArrayList<Integer> arList = new ArrayList<Integer>();
ArrayList arList=new ArrayList();
现在我想用
arList.add(55)一个接一个地添加上百个整数
如果您有另一个列表,其中包含要添加的所有项目,则可以执行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));
我相信上面的答案是不正确的,用多个值初始化的正确方法是
int[] otherList ={1,2,3,4,5};
因此,正确初始化的完整答案如下所示
int[] otherList ={1,2,3,4,5};
arList.addAll(Arrays.asList(otherList));
如果您希望避免多行代码以节省空间,那么以下语法可能会很有用:
java.util.ArrayList lisFieldNames = new ArrayList() {
{
add("value1");
add("value2");
}
};
删除新行时,可以将其显示为:
java.util.ArrayList lisFieldNames = new ArrayList() {
{
add("value1"); add("value2"); (...);
}
};
是一个varargs方法,允许我们在一条语句中向集合添加任意数量的项:
List<Integer> list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);
如果您需要添加大量整数,那么使用for循环可能是最简单的。例如,将28天添加到DaysIn二月数组
ArrayList<Integer> daysInFebruary = new ArrayList<>();
for(int i = 1; i <= 28; i++) {
daysInFebruary.add(i);
}
ArrayList daysinjury=new ArrayList();
对于(int i=1;i+现在允许:
List<Integer> arList = List.of(1,2,3,4,5);
List arList=List.of(1,2,3,4,5);
但是列表将是这样。真的,我认为有更好的方法吗?哦,好吧,循环是有效的。ThxYeah,除非您想创建一个用所有值初始化的新列表(请参阅上面的编辑),这些是您的选项。第二种方法绝对是最简洁的方法。正如我所寻找的,这绝对是最简洁的方法。这不会编译,因为int是一种基本类型和数组。asList()无法在基元类型数组上正常工作。选择的答案使用整数,这是正确的方法。仍然需要多次调用add()
,即使压缩到一行,也会增加混乱。我会将值放在字符串Ej中。String theValues=“1,20,21001”;(手动或从文件加载)。然后将其传递给Array:Integer[]theArray=theValues.split(“,”,-1);一旦获得了数组,就可以很容易地将其传递给ArrayList:ArrayList numbersList=new ArrayList(java.util.Arrays.asList(theArray));(未经测试)以下是关于为什么这样做的更多信息。我已经在上回答了这个问题
List<Integer> arList = List.of(1,2,3,4,5);