Java LinkedList-klassen använder en dubbellänkad lista för att lagra elementen. Det tillhandahåller en länkad listdatastruktur. Den ärver klassen AbstractList och implementerar List- och Deque-gränssnitt.
De viktiga punkterna om Java LinkedList är:
- Java LinkedList-klassen kan innehålla dubbletter av element.
- Java LinkedList-klassen upprätthåller insättningsordningen.
- Java LinkedList-klassen är inte synkroniserad.
- I Java LinkedList-klassen är manipulationen snabb eftersom ingen växling behöver ske.
- Java LinkedList-klassen kan användas som en lista, stack eller kö.
Hierarki för klassen LinkedList
Som visas i diagrammet ovan utökar Java LinkedList-klassen AbstractSequentialList-klassen och implementerar List- och Deque-gränssnitt.
java struktur
Dubbelt länkad lista
I fallet med en dubbellänkad lista kan vi lägga till eller ta bort element från båda sidor.
LinkedList-klassdeklaration
Låt oss se deklarationen för klassen java.util.LinkedList.
bryta java
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable
Konstruktörer av Java LinkedList
Konstruktör | Beskrivning |
---|---|
Länkad lista() | Den används för att skapa en tom lista. |
LinkedList(Samling c) | Den används för att konstruera en lista som innehåller elementen i den angivna samlingen, i den ordning de returneras av samlingens iterator. |
Metoder för Java LinkedList
Metod | Beskrivning |
---|---|
boolesk add(E e) | Den används för att lägga till det angivna elementet i slutet av en lista. |
void add(int index, E-element) | Den används för att infoga det specificerade elementet vid det angivna positionsindexet i en lista. |
boolean addAll(Collection c) | Den används för att lägga till alla element i den angivna samlingen till slutet av denna lista, i den ordning som de returneras av den angivna samlingens iterator. |
boolean addAll(Collection c) | Den används för att lägga till alla element i den angivna samlingen till slutet av denna lista, i den ordning som de returneras av den angivna samlingens iterator. |
boolesk addAll(int index, samling c) | Den används för att lägga till alla element i den angivna samlingen, med början på den angivna positionen i listan. |
void addFirst(E e) | Den används för att infoga det givna elementet i början av en lista. |
void addLast(E e) | Den används för att lägga till det givna elementet i slutet av en lista. |
void clear() | Den används för att ta bort alla element från en lista. |
Object clone() | Den används för att returnera en ytlig kopia av en ArrayList. |
booleskt innehåller(Objekt o) | Den används för att returnera true om en lista innehåller ett specificerat element. |
Iterator descendingIterator() | Den används för att returnera en iterator över elementen i en deque i omvänd sekventiell ordning. |
E element() | Den används för att hämta det första elementet i en lista. |
E get(int index) | Den används för att returnera elementet på den angivna positionen i en lista. |
E getFirst() | Den används för att returnera det första elementet i en lista. |
E getLast() | Den används för att returnera det sista elementet i en lista. |
int indexOf(Objekt o) | Den används för att returnera indexet i en lista över den första förekomsten av det angivna elementet, eller -1 om listan inte innehåller något element. |
int lastIndexOf(Objekt o) | Den används för att returnera indexet i en lista över den senaste förekomsten av det angivna elementet, eller -1 om listan inte innehåller något element. |
ListIterator listIterator(int index) | Den används för att returnera en listiterator av elementen i rätt ordning, med början på den angivna positionen i listan. |
booleskt erbjudande(E e) | Den lägger till det angivna elementet som det sista elementet i en lista. |
booleskt erbjudandeFirst(E e) | Den infogar det angivna elementet längst fram i en lista. |
booleskt erbjudandeLast(E e) | Den infogar det angivna elementet i slutet av en lista. |
E peek() | Den hämtar det första elementet i en lista |
E peekFirst() | Den hämtar det första elementet i en lista eller returnerar null om en lista är tom. |
E peekLast() | Den hämtar det sista elementet i en lista eller returnerar null om en lista är tom. |
E poll() | Den hämtar och tar bort det första elementet i en lista. |
E pollFirst() | Den hämtar och tar bort det första elementet i en lista, eller returnerar null om en lista är tom. |
E pollLast() | Den hämtar och tar bort det sista elementet i en lista, eller returnerar null om en lista är tom. |
Och pop() | Det poppar upp ett element från stapeln som representeras av en lista. |
void push(E e) | Det skjuter ett element till stapeln som representeras av en lista. |
E remove() | Den används för att hämta och ta bort det första elementet i en lista. |
E remove(int index) | Den används för att ta bort elementet på den angivna positionen i en lista. |
boolean remove(Object o) | Den används för att ta bort den första förekomsten av det angivna elementet i en lista. |
E removeFirst() | Det tar bort och returnerar det första elementet från en lista. |
boolean removeFirstOccurrence(Object o) | Den används för att ta bort den första förekomsten av det angivna elementet i en lista (när man går igenom listan från huvud till svans). |
E removeLast() | Det tar bort och returnerar det sista elementet från en lista. |
boolean removeLastCurrence(Object o) | Den tar bort den senaste förekomsten av det angivna elementet i en lista (när man går igenom listan från huvud till svans). |
E set(int index, E element) | Det ersätter elementet på den angivna positionen i en lista med det angivna elementet. |
Objekt[] tillArray() | Den används för att returnera en array som innehåller alla element i en lista i rätt ordning (från första till sista elementet). |
T[] tillArray(T[] a) | Den returnerar en array som innehåller alla element i rätt ordning (från första till sista elementet); körtidstypen för den returnerade arrayen är den för den angivna arrayen. |
int storlek() | Den används för att returnera antalet element i en lista. |
Java LinkedList Exempel
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 exempel för att lägga till element
Här ser vi olika sätt att lägga till element.
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 exempel för att ta bort element
Här ser vi olika sätt att ta bort ett element.
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 Exempel för att vända en lista med element
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 Exempel: Bok
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); } } }
Produktion:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6