Как реализовать класс LinkedList с нуля в Java

Опубликовано: 2013-06-19
Руководство по реализации Crunchify Java LinkedList

Если вы на самом деле строите реальную производственную систему, то да, вы обычно просто используете материал из стандартной библиотеки, если там есть то, что вам нужно. Тем не менее, не думайте об этом как о бессмысленном упражнении.

Хорошо понимать, как все работает, а understanding linked lists — важный шаг к пониманию более сложных структур данных, многие из которых не существуют в стандартных библиотеках.

Существуют некоторые различия между тем, как вы создаете связанный список, и тем, как это делает API коллекций Java.

API коллекций пытается придерживаться более сложного интерфейса. В вашем LinkedList всегда будет хотя бы один элемент.

С такой настройкой вы бы использовали null, когда вам нужен пустой список. Думайте о «следующем» как об «остальной части списка». На самом деле многие люди назвали бы это tail , а не «следующим».

Вот схема отдельного LinkedList:

Crunchify Односвязный список Пример

Другой должен прочитать:

  • Как выполнить итерацию экземпляра LinkedList в Java?
  • Java: как найти средний элемент LinkedList?

Как лучше всего создать связанный список в Java с нуля?

Итак, вот простейшая реализация класса LinkedList на Java.

LinkedList на Java с нуля — Crunchify Tutorial

Несколько вещей:

Здесь мы инициализируем Node только при adding 1st element .

Результат:

Усовершенствования этой реализации включают создание double-linked list , добавление методов для insert и delete из середины или конца, а также добавление методов get и sort .

Ссылочный ответ из Stack Overflow от Лоуренса Гонсалвеса. Вас может заинтересовать список всех руководств по Java.