我想要一个Java中的Arraylist,我想填充10
的
ArrayList<Integer> list = new ArrayList<Integer>(100);
for (int i = 0; i < 100; i++) {
list.add(10);
}
我将不得不初始化很多Arraylists,所以我想知道在没有for
循环的情况下是否有一种干净的方法可以做到这一点?
答案 0 :(得分:7)
您可以使用Collections.nCopies:
ArrayList<Integer> list = new ArrayList<Integer>(Collections.nCopies(100, 10));
这会将list
初始化为100 10。
答案 1 :(得分:2)
ArrayList<Integer> list = new ArrayList<Integer>(100);
for (int i = 0; i < list.size(); i++)
{
list.add(10);
}
list.size()
在这里将为0,因此这就是您的代码不起作用的原因。 size
会跟踪列表中当前有多少元素,而不是容量。
如果您想要使用全部10来初始化ArrayList
,可以使用:
ArrayList<Integer> list = new ArrayList<Integer>(Collections.nCopies(100, 10));
编辑:
您稍后说过您不想要for
循环,但要修复您的代码,只需将list.size()
替换为100。