我在Netbeans中工作,它一直建议我使用迭代器而不是for-in循环。我上次遇到的是这样的:

ArrayList<String> numString = new ArrayList<>();
ArrayList<Integer> nums = new ArrayList<>();

String allNums = "";

nums.add(1);
nums.add(2);
nums.add(9);

for(int num : nums) {

    allNums += String.valueOf(num);
}
numString.add(allNums);

for(String num : numString) {

    System.out.println(num);
}

它与效率有关吗?按照我自己的逻辑,上面的示例比导入类更有效。

最佳答案

如下所示的for循环基本上是一个外观漂亮的迭代器,旨在迭代该集合。

除非您正在做其他需要删除元素的操作,能够在列表中前进next()或后退previous()的能力以及使用hasNext()来检查更多元素的能力,否则这并不重要

TL:DR
如果只想遍历forEach,最好使用Collection循环。否则,请使用迭代器。

07-24 09:46
查看更多