Java 数组(或ArrayList)和LinkedList在迭代时执行相同的操作吗?

Java 数组(或ArrayList)和LinkedList在迭代时执行相同的操作吗?,java,performance,Java,Performance,我知道数组在获取和设置方面更快,而LinkedList在添加和删除元素方面更好,但在迭代时又如何呢?(i=0;i使用foreach时,它们都以相同的速度进行迭代,O(1)。有关更多信息,请阅读。对于迭代,它们都是O(1)。如果要访问随机索引,则LinkedList是O(n),而ArrayList是O(1)。实际上,除了在大列表的开头或中间添加/删除项目外,arraylist几乎在所有方面都会更快。这些类的源代码清楚地回答了这个问题,您不明白吗?完全重复-渐近性是相同的。常量因素可能会显著地有利于

我知道数组在获取和设置方面更快,而LinkedList在添加和删除元素方面更好,但在迭代时又如何呢?(i=0;i使用foreach时,它们都以相同的速度进行迭代,O(1)。有关更多信息,请阅读。

对于迭代,它们都是O(1)。如果要访问随机索引,则LinkedList是O(n),而
ArrayList是O(1)。实际上,除了在大列表的开头或中间添加/删除项目外,arraylist几乎在所有方面都会更快。这些类的源代码清楚地回答了这个问题,您不明白吗?完全重复-渐近性是相同的。常量因素可能会显著地有利于
ArrayList
LinkedList<Integer> intList = new LinkedList();
/*
populate list...
*/
for (int i : intList) {
    //do stuff
}