Операции Java LinkedList
Связанные списки относятся к простейшим и наиболее распространенным структурам данных. Массивы и связанные списки аналогичны, так как они хранят коллекции данных. Массив выделяет память для всех ее элементов, объединенных в один блок памяти. Напротив, связанный список выделяет пространство для каждого элемента отдельно в своем собственном блоке памяти, называемом узлом. Основным недостатком использования массивов для хранения данных является то, что массивы являются статическими структурами и поэтому не могут быть легко расширены или уменьшены, чтобы соответствовать набору данных. Один недостаток связанного списка над массивом заключается в том, что он не позволяет осуществлять прямой доступ к отдельным элементам. Если вы хотите получить доступ к определенному элементу, вам нужно начинать в начале и следовать по ссылке, пока не дойдете до этого элемента.
Связанный список представляет собой структуру данных, состоящую из группы узлов, которые вместе представляют последовательность. Он динамичен по своей природе, который при необходимости выделяет память. Это означает, что количество узлов в списке не является фиксированным и может увеличиваться и сокращаться по требованию. Любое приложение, которое должно иметь дело с неизвестным количеством объектов, является обязательным для использования связанного списка. Каждый узел в связанном списке содержит два поля: поле «данные» для хранения любого типа элемента, который имеет список для своего клиента, и «следующее» поле, которое является указателем, используемым для связывания одного узла с следующим узлом. Последний узел в списке имеет поле .next, установленное в NULL, чтобы обозначить конец списка.
Существует три типа связанных списков. Они есть:
Существует три типа связанных списков. Они есть:...
- Одиночный список ссылок
- Связанный двойной список
- Связанный с круговым списком
Single LinkedList : Одиночные списки содержат узлы, у которых есть часть данных, а также часть ссылки, то есть следующая, которая указывает на следующий узел в последовательности узлов. Навигация элемента в одиночных связанных списках только вперед. Операциями, которые мы можем выполнять в одиночных связанных списках, являются вставка, удаление и обход.
Циклический связанный список: в круговом связанном списке Последний элемент содержит ссылку первого элемента как следующего, а первый элемент имеет ссылку на последний элемент как предыдущий.
Следующая Java-программа иллюстрирует несколько методов, поддерживаемых этой базой данных LinkedList Framework
import Java.util.*; class TestClass { public static void main (String[] args) throws Java.lang.Exception { // создать новый связанный объект списка LinkedList days = new LinkedList(); // добавление элементов в связанный список days.add("Monday"); days.add("Tuesday"); days.add("Wednesday"); days.add("Thursday"); days.addLast("Friday"); // Отображение всего содержимого LinkedList Iteratoritr=days.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } /*Add First and Last Element in linked list*/ days.addFirst("Sunday"); days.addLast("Saturday"); System.out.println("After Addition: " + days); // Вставка элемента в связанный список days.add(0, "Days in a Week"); // добавить начало связанного списка days.add(4,"Middle"); // добавить в середине связанного списка days.add(9, "End"); // добавление в список lst связанного списка System.out.println("After Insertion: " + days); //Удалить days.removeFirst(); days.remove(3); // удалять элемент из списка days.removeLast(); System.out.println("After Addition: " + days); // Удаление элемента из связанного списка. days.remove("Monday"); // удалить понедельник из списка //System.out.println("Contents: "+ days); // Количество элементов в связанном списке int elements = days.size(); System.out.println("No. of elements linked list: " + elements); // Поиск элементов в связанном списке boolean check = days.contains("Sunday"); if(check) System.out.println("Item found !!"); else System.out.println("Not in the list!! "); // обновлять связанный список или получать и устанавливать значение в связанном списке Object item = days.get(0); days.set(0, (String) item + "-First Day"); System.out.println("After modification : " + days); } }