小编典典

列表与列表迭代器

java

我有一个清单:

List<Object> myList = new ArrayList<Object>();

要从此列表中获取,有两种方法:

1。

for(Object obj : myList )
{
    // some code
}

2。

Iterator<Object> objIt = myList.iterator();
while(obj.hasNext()) {
    Object obj = (Object)objIt.next();
    // some code
}

我的问题是,哪一个内存效率高且迭代速度快?


阅读 223

收藏
2020-11-16

共1个答案

小编典典

他们做同样的事情-
增强的for循环对于长版本来说只是语法糖(对于可迭代对象;对于数组,它稍有不同)。除非您明确需要迭代器(例如,调用remove()),否则我将使用第一个版本。

有关编译器执行的准确转换的更多详细信息,请参见Java语言规范的14.14.2节

2020-11-16