结果
ArrayList:for>iterator>foreach
LinkedList:iterator>foreach>for
原因
1.foreach是用iterator来实现的,所以不展开说明。
2.接下来分析一下ArrayList和LinkedList的数据结构上的区别。
ArrayList是基于(index)的数组,在内存上是连续存储,所以获取指定数据的比较快,时间复杂度是O(1)。
LinkedList是以链表形式存储的,每个元素都会存放下一个元素的节点坐标,所以用for获取指定数据的时间复杂度是O(n),iterator的next则是顺着节点坐标获取元素,所以效率就高了。