logo

Java LinkedList klass

Java LinkedList klasshierarki

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.

java LinkedList-klass med dubbellänkad lista

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