【发布时间】:2017-04-05 23:46:25
【问题描述】:
我在大学里被教导必须创建一个迭代器来循环一个集合。
java.util.HashSet<String> set = new java.util.HashSet<String>();
set.add("Green");
set.add("Blue");
set.add("Yellow");
set.add("Orange");
set.add("Red");
Iterator it = set.iterator();
while (it.hasNext()) {
String current = (String) it.next();
System.out.println(current);
}
现在我在同事的代码中看到,有一种更简单的方法可以完成它。使用 for 循环:
for (String str : set) {
System.out.println(str);
}
我问自己为什么在大学里没有展示使用 for 循环的方法。
有for循环缺点的方法吗?
迭代集合的最佳方式是什么?为什么?
【问题讨论】:
-
如果在迭代过程中不需要从集合中移除,请使用增强的 for 循环。
-
如果您使用迭代器方法,请使用
Iterator<String>,而不是原始Iterator。 -
啊,...谢谢。这就说得通了。需要迭代器在对其进行迭代时更改数据结构。
标签: java