DoubleArrayList — универсальная реализация java.util.List
Не так давно я считал. что нет оправдания использованиюjava.util.LinkedList
в качестве реализации java.util.List
. Но что-то заставило меня его поискать. Давайте разберемся. Любой грамотный Java-специалист знает, что java.util.ArrayList
нужно использовать тогда, когда нам нужен быстрый доступ по индексу, а java.util.LinkedList
, если нам нужно вставлять или удалять элементы в середине списка. Не многие из них догадываются, что если мы будем вставлять или удалять элементы в середине списка методами remove(int index)
и add(int index, E element)
, то на поиск нужного элемента будет затрачено время в среднем пропорциональное размеру списка O(N)
. Так когда же возникает выгода от использования java.util.LinkedList
?Читать дальше →