我一直在研究一些优化 LinkedList 的方法。有谁知道 Java 默认的双向链接 LinkedList 类是否经过优化以进行get()
反向操作?例如:
// Some LinkedList list that exists with n elements;
int half = list.size() / 2;
list.get(half + 1);
list.get(half + 1)
由于它是一个双向链表,是否会调用优化搜索并反向进行?如果您知道该元素位于列表的后半部分,那么从末尾进行搜索并朝向中心进行搜索会更有意义。
我知道使用get(index)
是O(n)
时间,并且在遍历 LinkedList 时应该使用迭代器,但我只是好奇。