Оптимизирован ли Java LinkedList для получения (индексации) в обратном порядке, когда это необходимо?
мы работали над некоторыми способами оптимизации LinkedList 's. Кто-нибудь знает, оптимизирован ли класс Java LinkedList по умолчанию Java для выполнения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, но мне просто любопытно.