java - 使用迭代器迭代集合是否比普通迭代更高效

标签 java collections iterator

我有一个如下的集合:

  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/

相关文章:

java - 从命令行创建 jar 文件

java - 循环并重复捕获异常

java - 循环连接四个网格

java - 如何获取 Map.values 作为 Set 而不是 Collection?

c++ - 无法将 sregex_iterator 作为流传递给 cout

java - 如何动态(在运行时)生成词法分析器和解析器?

java - 一个例子来说明 Java 中不可修改集合的这一点?

java - 自定义排序java数组

c++ - 将 vector 迭代器存储在另一个 vector 中

java - Iterator 实现应该如何处理已检查的异常?