Die Java-Klasse LinkedList verwendet eine doppelt verknüpfte Liste zum Speichern der Elemente. Es stellt eine Datenstruktur mit verknüpften Listen bereit. Es erbt die AbstractList-Klasse und implementiert List- und Deque-Schnittstellen.
Die wichtigen Punkte zu Java LinkedList sind:
- Die Java LinkedList-Klasse kann doppelte Elemente enthalten.
- Die Java LinkedList-Klasse behält die Einfügereihenfolge bei.
- Die Java LinkedList-Klasse ist nicht synchronisiert.
- In der Java-Klasse LinkedList erfolgt die Bearbeitung schnell, da keine Verschiebung erfolgen muss.
- Die Java LinkedList-Klasse kann als Liste, Stapel oder Warteschlange verwendet werden.
Hierarchie der LinkedList-Klasse
Wie im obigen Diagramm gezeigt, erweitert die Java-Klasse LinkedList die Klasse AbstractSequentialList und implementiert List- und Deque-Schnittstellen.
Java-String formatieren
Doppelt verknüpfte Liste
Im Falle einer doppelt verknüpften Liste können wir Elemente auf beiden Seiten hinzufügen oder entfernen.
Deklaration der LinkedList-Klasse
Sehen wir uns die Deklaration für die Klasse java.util.LinkedList an.
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable
Konstruktoren von Java LinkedList
Konstrukteur | Beschreibung |
---|---|
LinkedList() | Es wird verwendet, um eine leere Liste zu erstellen. |
LinkedList(Sammlung c) | Es wird verwendet, um eine Liste zu erstellen, die die Elemente der angegebenen Sammlung in der Reihenfolge enthält, in der sie vom Iterator der Sammlung zurückgegeben werden. |
Methoden von Java LinkedList
Methode | Beschreibung |
---|---|
boolescher Wert add(E e) | Es wird verwendet, um das angegebene Element an das Ende einer Liste anzuhängen. |
void add(int index, E element) | Es wird verwendet, um das angegebene Element am angegebenen Positionsindex in eine Liste einzufügen. |
boolean addAll(Collection c) | Es wird verwendet, um alle Elemente in der angegebenen Sammlung an das Ende dieser Liste anzuhängen, und zwar in der Reihenfolge, in der sie vom Iterator der angegebenen Sammlung zurückgegeben werden. |
boolean addAll(Collection c) | Es wird verwendet, um alle Elemente in der angegebenen Sammlung an das Ende dieser Liste anzuhängen, und zwar in der Reihenfolge, in der sie vom Iterator der angegebenen Sammlung zurückgegeben werden. |
boolean addAll(int index, Collection c) | Es wird verwendet, um alle Elemente in der angegebenen Sammlung anzuhängen, beginnend an der angegebenen Position der Liste. |
void addFirst(E e) | Es wird verwendet, um das angegebene Element am Anfang einer Liste einzufügen. |
void addLast(E e) | Es wird verwendet, um das angegebene Element an das Ende einer Liste anzuhängen. |
void klar() | Es wird verwendet, um alle Elemente aus einer Liste zu entfernen. |
Objektklon() | Es wird verwendet, um eine flache Kopie einer ArrayList zurückzugeben. |
boolean enthält(Objekt o) | Es wird verwendet, um „true“ zurückzugeben, wenn eine Liste ein angegebenes Element enthält. |
Iterator absteigenderIterator() | Es wird verwendet, um einen Iterator über die Elemente in einer Deque in umgekehrter Reihenfolge zurückzugeben. |
E-Element() | Es wird verwendet, um das erste Element einer Liste abzurufen. |
E get(int index) | Es wird verwendet, um das Element an der angegebenen Position in einer Liste zurückzugeben. |
E getFirst() | Es wird verwendet, um das erste Element in einer Liste zurückzugeben. |
E getLast() | Es wird verwendet, um das letzte Element in einer Liste zurückzugeben. |
int indexOf(Object o) | Es wird verwendet, um den Index in einer Liste des ersten Vorkommens des angegebenen Elements zurückzugeben, oder -1, wenn die Liste kein Element enthält. |
int lastIndexOf(Object o) | Es wird verwendet, um den Index in einer Liste des letzten Vorkommens des angegebenen Elements zurückzugeben, oder -1, wenn die Liste kein Element enthält. |
ListIterator listIterator(int index) | Es wird verwendet, um einen Listeniterator der Elemente in der richtigen Reihenfolge zurückzugeben, beginnend an der angegebenen Position in der Liste. |
boolesches Angebot (E e) | Es fügt das angegebene Element als letztes Element einer Liste hinzu. |
boolean offerFirst(E e) | Es fügt das angegebene Element am Anfang einer Liste ein. |
boolean offerLast(E e) | Es fügt das angegebene Element am Ende einer Liste ein. |
E peek() | Es ruft das erste Element einer Liste ab |
E peekFirst() | Es ruft das erste Element einer Liste ab oder gibt null zurück, wenn eine Liste leer ist. |
E peekLast() | Es ruft das letzte Element einer Liste ab oder gibt null zurück, wenn eine Liste leer ist. |
E-Umfrage() | Es ruft das erste Element einer Liste ab und entfernt es. |
E pollFirst() | Es ruft das erste Element einer Liste ab und entfernt es oder gibt null zurück, wenn eine Liste leer ist. |
E pollLast() | Es ruft das letzte Element einer Liste ab und entfernt es oder gibt null zurück, wenn eine Liste leer ist. |
Und Pop() | Es entfernt ein Element aus dem durch eine Liste dargestellten Stapel. |
Void Push(E e) | Es schiebt ein Element auf den Stapel, der durch eine Liste dargestellt wird. |
E entfernen() | Es wird zum Abrufen und Entfernen des ersten Elements einer Liste verwendet. |
E entfernen(int index) | Es wird verwendet, um das Element an der angegebenen Position in einer Liste zu entfernen. |
boolescher Wert Remove(Objekt o) | Es wird verwendet, um das erste Vorkommen des angegebenen Elements in einer Liste zu entfernen. |
E. RemoveFirst() | Es entfernt das erste Element aus einer Liste und gibt es zurück. |
boolean removeFirstOccurrence(Object o) | Es wird verwendet, um das erste Vorkommen des angegebenen Elements in einer Liste zu entfernen (beim Durchlaufen der Liste von Kopf bis Ende). |
E RemoveLast() | Es entfernt das letzte Element aus einer Liste und gibt es zurück. |
boolean removeLastOccurrence(Object o) | Es entfernt das letzte Vorkommen des angegebenen Elements in einer Liste (beim Durchlaufen der Liste von Kopf bis Ende). |
E set(int index, E element) | Es ersetzt das Element an der angegebenen Position in einer Liste durch das angegebene Element. |
Object[] toArray() | Es wird verwendet, um ein Array zurückzugeben, das alle Elemente in einer Liste in der richtigen Reihenfolge (vom ersten bis zum letzten Element) enthält. |
T[] toArray(T[] a) | Es wird ein Array zurückgegeben, das alle Elemente in der richtigen Reihenfolge (vom ersten bis zum letzten Element) enthält. Der Laufzeittyp des zurückgegebenen Arrays ist der des angegebenen Arrays. |
int size() | Es wird verwendet, um die Anzahl der Elemente in einer Liste zurückzugeben. |
Java LinkedList-Beispiel
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
Java LinkedList-Beispiel zum Hinzufügen von Elementen
Hier sehen wir verschiedene Möglichkeiten, Elemente hinzuzufügen.
Abfrageselektor
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]
Java LinkedList-Beispiel zum Entfernen von Elementen
Hier sehen wir verschiedene Möglichkeiten, ein Element zu entfernen.
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-Beispiel zum Umkehren einer Liste von Elementen
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
Java LinkedList-Beispiel: Buch
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); } } }
Ausgabe:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6