Sau*_*mar 2 java collections iterator
我有一个如下集合:
final List list = new ArrayList(3);
Run Code Online (Sandbox Code Playgroud)
做下面这样的事情是否有效
for (final Iterator iter = list.iterator(); iter.hasNext();)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
要么
for(final Object obj : list){
// do something
}
Run Code Online (Sandbox Code Playgroud)
?
第二个示例只是第一个示例的快捷语法.它们基本上是相同的(假设你final Object obj = iter.next();在for循环中调用).
这种快捷语法被称为"for-each"或"enhanced for",因为它更干净,更直观,并且正如PéterTörök所说,避免了潜在的错误,因此更常用.我只推荐使用简单的语法,因为它具有更大的灵活性.
有关更多信息,请参阅此文章:http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html