Рубрики
Без рубрики

Списки Chained

Данная статья имеет цель ввести списки прикованный и их реализации в Java. Помеченный java, структура данных, начинающий.

Списки связанные или связанные списки структур линейные для хранения объектов одного типа. Эти объекты связаны друг с другом с помощью указателей, которые держат позиции вблизи объекта из списка.

Эти списки могут быть двух видов:

  • Списки прикованный простой: где каждый элемент хранится адрес памяти, где находится следующий элемент списка:
  • Списки вдвойне цепочку: где каждый элемент хранится адрес памяти, где находится расположение на предыдущий и следующий элемент списка:

Списки Прикованный в Java

В Java, implementaçãos из списков прикованный производится по коллекции LinkedList, который представляет собой список круговой вдвойне связной. В такой список, каждый элемент является именем узла, и каждый узел сохраняет в себе, кроме того, элемент, положение предыдущего элемента и положение элемента более поздней версии.

В памяти, LinkedList не хранится последовательно. Она становится распределенной, поэтому важно быть положение элементов более ранних и более на каждом узле. Тот факт, что распространяется в памяти, что список может расти во время выполнения программы таким образом, ограничено только объемом доступной физической памяти.

На приведенном выше примере, мы видим, что использование LinkedList-это очень похоже на использование ArrayList. Итак, в чем будет преимущество использовать LinkedList?

Performance! Если вам нужно что ваш список имеет лучшую производительность на добавление и/или удаление элементов, то вы должны использовать LinkedList! Но почему? Потому что производительность лучше для методов add и remove?

Если мы говорим вставки/удаления в конце или в начале списка, это простая операция: после создания узла, будет производиться обновление из позиций на элементы:

Если мы говорим вставки/удаления в середине списка, перед вставкой, будет еще операция поиска места, где должен быть вставлен элемент, то теряет немного в производительности в этом случае, однако следует помнить, что Java в этом случае выбирает наименьший путь.

Однако, когда мы говорим операций поиска конкретных элементов в LinkedList, ведет себя как ArrayList, а именно: в худшем случае, это необходимо будет прокручивать весь список.

В заключение, лучшие означает, что это хорошее время, чтобы использовать LinkedList являются:

  • Когда не будет необходимости допуска элементов, случайным образом;
  • Когда будут внесены многих операций вставки/удаления элементов;
  • При необходимости, что рост в список является динамическим.

Библиография:

Этот разработчик отличный здесь

Diferença entre список массивов, Вектор e список ссылок em Ява

LinkedLists: что происходит за интерфейс

Официальной документации

Оригинал: “https://dev.to/ccunha/listas-encadeadas-157”