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.
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