我有一个如下的集合:
final List list = new ArrayList(3);
做下面这样的事情是否有效
for (final Iterator iter = list.iterator(); iter.hasNext();)
{
// do something
}
或者
for(final Object obj : list){
// do something
}
?
最佳答案
第二个示例只是第一个示例的快捷语法。它们本质上是同一件事(假设您在 for
循环中调用 final Object obj = iter.next();
)。
快捷语法,称为“for-each”或“enhanced for”,更常用,因为它更干净、更直观,如 Péter Török notes避免潜在的错误。我仅在需要更大灵活性时才推荐使用简单语法。
请参阅本文了解更多信息:http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html
关于java - 使用迭代器迭代集合是否比普通迭代更高效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9636424/