У меня есть коллекция вроде:
final List list = new ArrayList(3);
Эффективно ли делать что-то вроде ниже
for (final Iterator iter = list.iterator(); iter.hasNext();) { // do something }
OR
for(final Object obj : list){ // do something }
Второй пример - это просто сокращенный синтаксис для первого.По сути, это одно и то же (при условии, что вы вызываете final Object obj = iter.next(); в цикле for).
final Object obj = iter.next();
for
Синтаксис ярлыков, известный как «для каждого» или «расширенный для», чаще используетсяон чище, интуитивнее и, как отмечает Петер Торок, позволяет избежать потенциальных ошибок.Я рекомендую простой синтаксис, только когда он необходим для большей гибкости.
См. Эту статью для получения дополнительной информации: http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html