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