Существует ли реализация Java с двусвязным списком?

Я вижу, что реализация JDK LinkedList внутренне содержит внутренний класс Node, который содержит адрес для следующего и предыдущего.

Поэтому я сомневаюсь, что LinkedList в Java не имеет двойного списка. Если нет, то почему?

И как реализовать наш собственный двойной список?

Ответы

Ответ 1

Да, LinkedList является дважды связанным списком, так как Javadoc упоминает:

Совместно реализованная реализация списка интерфейсов List и Deque. Выполняет все необязательные операции с списками и разрешает все элементы (включая null).

Все операции выполняются так же, как можно было бы ожидать для двусвязного списка. Операции, которые индексируются в список, будут перемещаться по списку от начала или до конца, в зависимости от того, что ближе к указанному индексу.