使用for循环填充ArrayList

时间:2017-04-12 22:05:31

标签: java arraylist

我正在尝试使用循环填充ArrayList。我究竟做错了什么?当我打印ArrayList时,没有任何内容被打印出来。我认为我的问题与numbers.size()

有关
ArrayList<Integer> numbers = new ArrayList<>(7);
for (int i = 1; i <= numbers.size(); i++) {
    numbers.add(i);
}

4 个答案:

答案 0 :(得分:1)

最初,列表为空,表示numbers.size()返回0。因此,永远不会输入循环,因为1 <= 0false

答案 1 :(得分:1)

在第ArrayList<Integer> numbers = new ArrayList<>(7);行中7 - 不是大小。大小仍等于0,因为您没有添加任何元素。所以numbers.size()是0。

构造函数中的参数是initialCapacity。这是ArrayList中内部数组的起始长度。

答案 2 :(得分:1)

问题在于minimum-scale。这一行numbers.size()创建一个初始容量等于或大于7的ArrayList,但创建的ArrayList的大小为0.所以程序不会转到你的循环

答案 3 :(得分:1)

这里有两个问题:

ArrayList<Integer> numbers = new ArrayList<>(7);

您需要指定作业双方的类型

for (int i = 1; i <= numbers.size(); i++) {
    numbers.add(i);

数组和ArrayLists的索引从0开始,因此make i为零,并使用小于而不是小于或小于等于。最后,这应该工作。刚刚编辑过,看起来我有些不对劲。将numbers.size()改为常量,这应该可以正常工作

ArrayList<Integer> numbers = new ArrayList<Integer>(7);
 for (int i = 0; i < 7; i++) {
    numbers.add(i);
}