кодесурса

Java LinkedList Class

script1adsense2code
script1adsense3code

Вступление

LinkedList упорядочен по позиции индекса, как ArrayList, за исключением того, что элементы дважды связаны друг с другом. Эта связь дает вам новые методы (помимо того, что вы получаете из интерфейса List) для добавления и удаления из начала или конца, что делает его легким выбором для реализации стека или очереди. Связанный список имеет понятие узлов и данных. Здесь Node хранит значения следующего узла, в то время как данные хранят значение, которое он содержит. На диаграмме ниже показано, как LinkedList хранит значения. В LinkedList A, B и C. есть три элемента. Мы удаляем элемент B из середины LinkedList, который просто изменит значение узла узла A на указатель на узел C.

«связаны

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

LinkedList имеет два конструктора, показанные здесь:

 iLinkedList ()
 LinkedList (Коллекция <? Extends E> c)

Первый конструктор создает пустой связанный список. Второй конструктор создает связанный список, который инициализируется с элементами коллекции c.

Важные методы класса LinkedList:

метод Описание
addFirst () или offerFirst () Чтобы добавить элементы в начало списка
addLast () или offerLast () или add () Чтобы добавить элементы в конец списка
getFirst () или peekFirst () Получить первый элемент списка
getLast () или peekLast () Получить последний элемент списка
removeFirst () или pollFirst () или remove () Удалить первый элемент списка
removeLast () или pollLast () Удалить последний элемент списка

Программа Java для демонстрации использования всех описанных выше методов. Здесь мы создаем LinkedList с именем myLinkedList и добавляем объекты с помощью методов add (), addFirst () и addLast (), а также с помощью метода add () на основе индекса, а затем печатаем все объекты. Затем измените список с помощью методов remove (), removeLast () и remove (Object o). Затем мы продемонстрируем использование методов getFirst () и getLast (). Вывод программы показан под кодом Java.

Java-код: перейти к редактору

import java.util.LinkedList;
public class LinkedListDemo {
	public static void main(String[] args) {
		LinkedList<String> myLinkedList = new LinkedList<String>();
		myLinkedList.addFirst("A");
		myLinkedList.add("B");
		myLinkedList.add("C");
		myLinkedList.add("D");
		myLinkedList.add(2, "X");//This will add C at index 2
		myLinkedList.addLast("Z");
		System.out.println("Original List before deleting elements");
		System.out.println(myLinkedList);
		myLinkedList.remove();
		myLinkedList.removeLast();
		myLinkedList.remove("C");
		System.out.println("Original List After deleting first and last object");
		System.out.println(myLinkedList);
		System.out.println("First object in linked list: "+ myLinkedList.getFirst());
		System.out.println("Last object in linked list: "+ myLinkedList.peekLast());
	}
}

Выход:

«каталог

Резюме:

  • LinkedList хорош для добавления элементов в конец, то есть стеки и очереди
  • LinkedList работает лучше всего при удалении объектов из середины списка
  • LinkedList реализует интерфейсы List, Deque и Queue, поэтому LinkedList можно использовать для реализации очередей и стеков.

Редактор кода Java:

Предыдущий: Java ArrayList и Vector
Далее: Java HashSet

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code