List的打印迭代

时间:2014-02-12 08:52:02

标签: java

我是Java新手,我正在尝试打印List中的值,但生成的所有内容都是false。我不确定为什么会这样。

代码:

    List<Integer> coins = new ArrayList<Integer>();
    coins.add(4);
    coins.add(14);
    coins.add(2);
    coins.add(33);
    coins.add(2);
    coins.add(7);
    coins.add(56);
    coins.add(5);
    coins.add(8);

    for (Integer j : coins) {
        System.out.println(coins.get(j));
    }

4 个答案:

答案 0 :(得分:2)

for (Integer j : coins) {
    System.out.println(j);
}

答案 1 :(得分:2)

问题在于forEach循环。它应该是:

for (Integer j : coins) {
           // System.out.println(coins.get(j));
            System.out.println(j);
        }

答案 2 :(得分:0)

j的值将是coins的每个元素的值,而不是javascript中索引的值。

使用:

for (Integer j : coins) {
    System.out.println(j);
}

或者在很多方面更糟糕:

for (int i = 0; i < coins.size(); i++) {
    System.out.println(coins.get(i));
}

答案 3 :(得分:0)

当你这样做时:

for (Integer j : coins)

就像在做:

for (Iterator<Integer> itr = coins.iterator(); itr.hasNext();) {
   Integer j = itr.next();
}

如您所见,j已经具有您想要的值。

有关详细信息,请参阅docs