我知道数组在获取和设置方面更快,而LinkedLists更擅长添加和删除元素,但在迭代时呢?一个更“传统”的for(i=0;i<intList.size();i++)
肯定会使LinkedLists更慢,因为你必须每次都在索引i处获取元素。但是,如果我使用for(int i : intList)
怎么办?它是如何在这个实例的引擎下工作的?例如:
LinkedList<Integer> intList = new LinkedList();
/*
populate list...
*/
for (int i : intList) {
//do stuff
}
我认为在遍历整个List时不需要获取特定元素,因此应该可以使用某种类型的循环实现,其中性能大致相同。虽然我不知道这个例子如何实现for
的确切方式,所以我无法确定是不是这样。