logo

Klasa Java LinkedList

Hierarchia klas Java LinkedList

Klasa Java LinkedList używa podwójnie połączonej listy do przechowywania elementów. Zapewnia strukturę danych w formie listy połączonej. Dziedziczy klasę AbstractList i implementuje interfejsy List i Deque.

Ważne punkty dotyczące Java LinkedList to:

  • Klasa Java LinkedList może zawierać zduplikowane elementy.
  • Klasa Java LinkedList utrzymuje kolejność wstawiania.
  • Klasa Java LinkedList nie jest zsynchronizowana.
  • W klasie Java LinkedList manipulacja jest szybka, ponieważ nie ma potrzeby przeprowadzania przesunięć.
  • Klasy Java LinkedList można używać jako listy, stosu lub kolejki.

Hierarchia klasy LinkedList

Jak pokazano na powyższym diagramie, klasa Java LinkedList rozszerza klasę AbstractSequentialList i implementuje interfejsy List i Deque.

rhel kontra centos

Lista podwójnie połączona

W przypadku listy podwójnie połączonej możemy dodawać lub usuwać elementy z obu stron.

Klasa Java LinkedList przy użyciu podwójnie połączonej listy

Deklaracja klasy LinkedList

Zobaczmy deklarację klasy java.util.LinkedList.

liczba całkowita na ciąg
 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

Konstruktorzy Java LinkedList

Konstruktor Opis
Połączona lista() Służy do konstruowania pustej listy.
LinkedList (kolekcja c) Służy do konstruowania listy zawierającej elementy określonej kolekcji, w kolejności, w jakiej są zwracane przez iterator kolekcji.

Metody Java LinkedList

metoda Opis
wartość logiczna add(E e) Służy do dołączenia określonego elementu na końcu listy.
void add(int indeks, element E) Służy do wstawienia określonego elementu pod określonym indeksem pozycji na liście.
wartość logiczna addAll (kolekcja c) Służy do dołączenia wszystkich elementów określonej kolekcji na końcu tej listy, w kolejności, w jakiej są zwracane przez iterator określonej kolekcji.
wartość logiczna addAll (kolekcja c) Służy do dołączenia wszystkich elementów określonej kolekcji na końcu tej listy, w kolejności, w jakiej są zwracane przez iterator określonej kolekcji.
wartość logiczna addAll(int indeks, kolekcja c) Służy do dołączania wszystkich elementów określonej kolekcji, zaczynając od określonej pozycji na liście.
void addFirst(E e) Służy do wstawienia danego elementu na początek listy.
void addLast(E e) Służy do dołączenia danego elementu na koniec listy.
puste jasne() Służy do usuwania wszystkich elementów z listy.
Klon obiektu() Służy do zwracania płytkiej kopii tablicy ArrayList.
wartość logiczna zawiera (obiekt o) Służy do zwracania prawdy, jeśli lista zawiera określony element.
Iterator malejącyIterator() Służy do zwracania iteratora po elementach w deque w odwrotnej kolejności.
Element E() Służy do pobrania pierwszego elementu listy.
E get(int indeks) Służy do zwrócenia elementu na określonej pozycji na liście.
E getFirst() Służy do zwracania pierwszego elementu na liście.
E getLast() Służy do zwracania ostatniego elementu na liście.
int indeksOf(Obiekt o) Służy do zwrócenia indeksu na liście pierwszego wystąpienia określonego elementu lub -1, jeśli lista nie zawiera żadnego elementu.
int lastIndexOf(Obiekt o) Służy do zwrócenia indeksu na liście ostatniego wystąpienia określonego elementu lub -1, jeśli lista nie zawiera żadnego elementu.
ListIterator listIterator(indeks int) Służy do zwracania iteratora listy elementów w odpowiedniej kolejności, zaczynając od określonej pozycji na liście.
oferta logiczna (E e) Dodaje określony element jako ostatni element listy.
oferta logicznaFirst(E e) Wstawia określony element na początku listy.
oferta logicznaLast(E e) Wstawia określony element na końcu listy.
Zerknij() Pobiera pierwszy element listy
Zajrzyj najpierw() Pobiera pierwszy element listy lub zwraca wartość null, jeśli lista jest pusta.
Rzuć okiem na ostatni() Pobiera ostatni element listy lub zwraca wartość null, jeśli lista jest pusta.
Ankieta E() Pobiera i usuwa pierwszy element listy.
E ankietaFirst() Pobiera i usuwa pierwszy element listy lub zwraca wartość null, jeśli lista jest pusta.
E ankietaOstatnia() Pobiera i usuwa ostatni element listy lub zwraca wartość null, jeśli lista jest pusta.
I pop() Wyskakuje element ze stosu reprezentowanego przez listę.
puste pchnięcie (E e) Wypycha element na stos reprezentowany przez listę.
E usuń() Służy do pobierania i usuwania pierwszego elementu listy.
E usuń(int indeks) Służy do usunięcia elementu z określonej pozycji na liście.
wartość logiczna usuń (obiekt o) Służy do usuwania pierwszego wystąpienia określonego elementu na liście.
E usuńFirst() Usuwa i zwraca pierwszy element z listy.
wartość logiczna usuńFirstOccurrence(Obiekt o) Służy do usuwania pierwszego wystąpienia określonego elementu na liście (podczas przechodzenia listy od początku do końca).
E usuńOstatnie() Usuwa i zwraca ostatni element z listy.
wartość logiczna usuńLastOccurrence(Obiekt o) Usuwa ostatnie wystąpienie określonego elementu na liście (podczas przechodzenia listy od początku do końca).
Zestaw E (indeks int, element E) Zastępuje element znajdujący się na określonej pozycji na liście określonym elementem.
Obiekt[] do tablicy() Służy do zwrócenia tablicy zawierającej wszystkie elementy listy w odpowiedniej kolejności (od pierwszego do ostatniego elementu).
T[] toArray(T[] a) Zwraca tablicę zawierającą wszystkie elementy w odpowiedniej kolejności (od pierwszego do ostatniego elementu); typem środowiska wykonawczego zwróconej tablicy jest typ określonej tablicy.
rozmiar całkowity() Służy do zwracania liczby elementów na liście.

Przykład połączonej listy Java

 import java.util.*; public class LinkedList1{ public static void main(String args[]){ LinkedList al=new LinkedList(); al.add('Ravi'); al.add('Vijay'); al.add('Ravi'); al.add('Ajay'); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } } 
 Output: Ravi Vijay Ravi Ajay 

Przykład Java LinkedList do dodawania elementów

Tutaj widzimy różne sposoby dodawania elementów.

 import java.util.*; public class LinkedList2{ public static void main(String args[]){ LinkedList ll=new LinkedList(); System.out.println('Initial list of elements: '+ll); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); System.out.println('After invoking add(E e) method: '+ll); //Adding an element at the specific position ll.add(1, 'Gaurav'); System.out.println('After invoking add(int index, E element) method: '+ll); LinkedList ll2=new LinkedList(); ll2.add('Sonoo'); ll2.add('Hanumat'); //Adding second list elements to the first list ll.addAll(ll2); System.out.println('After invoking addAll(Collection c) method: '+ll); LinkedList ll3=new LinkedList(); ll3.add('John'); ll3.add('Rahul'); //Adding second list elements to the first list at specific position ll.addAll(1, ll3); System.out.println('After invoking addAll(int index, Collection c) method: '+ll); //Adding an element at the first position ll.addFirst('Lokesh'); System.out.println('After invoking addFirst(E e) method: '+ll); //Adding an element at the last position ll.addLast('Harsh'); System.out.println('After invoking addLast(E e) method: '+ll); } } 
 Initial list of elements: [] After invoking add(E e) method: [Ravi, Vijay, Ajay] After invoking add(int index, E element) method: [Ravi, Gaurav, Vijay, Ajay] After invoking addAll(Collection c) method: [Ravi, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addAll(int index, Collection c) method: [Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addFirst(E e) method: [Lokesh, Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addLast(E e) method: [Lokesh, Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat, Harsh] 

Przykład Java LinkedList do usuwania elementów

Tutaj widzimy różne sposoby usuwania elementu.

 import java.util.*; public class LinkedList3 { public static void main(String [] args) { LinkedList ll=new LinkedList(); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); ll.add('Anuj'); ll.add('Gaurav'); ll.add('Harsh'); ll.add('Virat'); ll.add('Gaurav'); ll.add('Harsh'); ll.add('Amit'); System.out.println('Initial list of elements: '+ll); //Removing specific element from arraylist ll.remove('Vijay'); System.out.println('After invoking remove(object) method: '+ll); //Removing element on the basis of specific position ll.remove(0); System.out.println('After invoking remove(index) method: '+ll); LinkedList ll2=new LinkedList(); ll2.add('Ravi'); ll2.add('Hanumat'); // Adding new elements to arraylist ll.addAll(ll2); System.out.println('Updated list : '+ll); //Removing all the new elements from arraylist ll.removeAll(ll2); System.out.println('After invoking removeAll() method: '+ll); //Removing first element from the list ll.removeFirst(); System.out.println('After invoking removeFirst() method: '+ll); //Removing first element from the list ll.removeLast(); System.out.println('After invoking removeLast() method: '+ll); //Removing first occurrence of element from the list ll.removeFirstOccurrence('Gaurav'); System.out.println('After invoking removeFirstOccurrence() method: '+ll); //Removing last occurrence of element from the list ll.removeLastOccurrence('Harsh'); System.out.println('After invoking removeLastOccurrence() method: '+ll); //Removing all the elements available in the list ll.clear(); System.out.println('After invoking clear() method: '+ll); } } 
 Initial list of elements: [Ravi, Vijay, Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking remove(object) method: [Ravi, Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking remove(index) method: [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] Updated list : [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit, Ravi, Hanumat] After invoking removeAll() method: [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking removeFirst() method: [Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking removeLast() method: [Gaurav, Harsh, Virat, Gaurav, Harsh] After invoking removeFirstOccurrence() method: [Harsh, Virat, Gaurav, Harsh] After invoking removeLastOccurrence() method: [Harsh, Virat, Gaurav] After invoking clear() method: [] 

Java LinkedList Przykład odwracania listy elementów

 import java.util.*; public class LinkedList4{ public static void main(String args[]){ LinkedList ll=new LinkedList(); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); //Traversing the list of elements in reverse order Iterator i=ll.descendingIterator(); while(i.hasNext()) { System.out.println(i.next()); } } } 
 Output: Ajay Vijay Ravi 

Przykład Java LinkedList: Książka

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class LinkedListExample { public static void main(String[] args) { //Creating list of Books List list=new LinkedList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Wyjście:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6