当迭代时,数组(或ArrayList)和LinkedList表现相同吗?
- 论坛
- 当迭代时,数组(或ArrayList)和LinkedList表现相同吗?
35 浏览
当迭代时,数组(或ArrayList)和LinkedList表现相同吗?
这个问题已经在这里有答案了:
我知道数组在获取和设置时更快,而LinkedList在添加和删除元素方面更好,但是在迭代时呢?一个更“传统”的 for(i=0;i<intList.size();i++)
肯定会使LinkedList变慢,因为你需要每次获取索引i处的元素。但是如果我使用 for(int i : intList)
呢?在这种情况下它是如何工作的呢?例如:
LinkedList intList = new LinkedList(); /* populate list... */ for (int i : intList) { //do stuff }
我想象当遍历整个List时,没有必要获取特定元素,因此应该可以有一种循环实现,性能大致相同。虽然我不知道在这个例子中 for
是如何实现的,所以我不能确定这是否正确。
admin 更改状态以发布 2023年5月21日