我在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
循环。否则,请使用迭代器。