logo

Java LinkedList klasse

Java LinkedList klassehierarki

Java LinkedList-klassen bruker en dobbeltkoblet liste for å lagre elementene. Det gir en lenket listedatastruktur. Den arver AbstractList-klassen og implementerer List og Deque-grensesnitt.

De viktige punktene om Java LinkedList er:

  • Java LinkedList-klassen kan inneholde dupliserte elementer.
  • Java LinkedList-klassen opprettholder innsettingsrekkefølge.
  • Java LinkedList-klassen er ikke synkronisert.
  • I Java LinkedList-klassen er manipulasjonen rask fordi ingen skifting trenger å skje.
  • Java LinkedList-klassen kan brukes som en liste, stabel eller kø.

Hierarki av LinkedList-klassen

Som vist i diagrammet ovenfor, utvider Java LinkedList-klassen AbstractSequentialList-klassen og implementerer List- og Deque-grensesnitt.

sammenligne streng java

Dobbeltkoblet liste

I tilfelle av en dobbeltlenket liste, kan vi legge til eller fjerne elementer fra begge sider.

java LinkedList-klassen bruker dobbeltlenket liste

LinkedList klasseerklæring

La oss se erklæringen for java.util.LinkedList-klassen.

globale variabler js
 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

Konstruktører av Java LinkedList

Konstruktør Beskrivelse
LinkedList() Den brukes til å konstruere en tom liste.
LinkedList (Samling c) Den brukes til å konstruere en liste som inneholder elementene i den angitte samlingen, i den rekkefølgen de returneres av samlingens iterator.

Metoder for Java LinkedList

Metode Beskrivelse
boolsk add(E e) Den brukes til å legge til det angitte elementet til slutten av en liste.
void add (int index, E element) Den brukes til å sette inn det spesifiserte elementet ved den angitte posisjonsindeksen i en liste.
boolesk addAll(Samling c) Den brukes til å legge til alle elementene i den angitte samlingen til slutten av denne listen, i den rekkefølgen de returneres av den angitte samlingens iterator.
boolesk addAll(Samling c) Den brukes til å legge til alle elementene i den angitte samlingen til slutten av denne listen, i den rekkefølgen de returneres av den angitte samlingens iterator.
boolesk addAll(int index, samling c) Den brukes til å legge til alle elementene i den angitte samlingen, og starter på den angitte posisjonen på listen.
void addFirst(E e) Den brukes til å sette inn det gitte elementet i begynnelsen av en liste.
void addLast(E e) Den brukes til å legge til det gitte elementet til slutten av en liste.
void clear() Den brukes til å fjerne alle elementene fra en liste.
Objekt klone() Den brukes til å returnere en grunn kopi av en ArrayList.
boolsk inneholder(Objekt o) Den brukes til å returnere sann hvis en liste inneholder et spesifisert element.
Iterator descendingIterator() Den brukes til å returnere en iterator over elementene i en deque i omvendt rekkefølge.
E element() Den brukes til å hente det første elementet i en liste.
E get(int indeks) Den brukes til å returnere elementet på den angitte posisjonen i en liste.
E getFirst() Den brukes til å returnere det første elementet i en liste.
E getLast() Den brukes til å returnere det siste elementet i en liste.
int indeksOf(Objekt o) Den brukes til å returnere indeksen i en liste over den første forekomsten av det angitte elementet, eller -1 hvis listen ikke inneholder noe element.
int lastIndexOf(Objekt o) Den brukes til å returnere indeksen i en liste over siste forekomst av det angitte elementet, eller -1 hvis listen ikke inneholder noe element.
ListIterator listIterator(int index) Den brukes til å returnere en liste-iterator av elementene i riktig rekkefølge, og starter på den angitte posisjonen i listen.
boolsk tilbud(E e) Den legger til det angitte elementet som det siste elementet i en liste.
boolsk tilbud First(E e) Den setter inn det angitte elementet foran på en liste.
boolsk tilbudSiste(E e) Den setter inn det angitte elementet på slutten av en liste.
E kikk() Den henter det første elementet i en liste
E peekFirst() Den henter det første elementet i en liste eller returnerer null hvis en liste er tom.
E peekLast() Den henter det siste elementet i en liste eller returnerer null hvis en liste er tom.
E avstemning() Den henter og fjerner det første elementet i en liste.
E pollFirst() Den henter og fjerner det første elementet i en liste, eller returnerer null hvis en liste er tom.
E pollLast() Den henter og fjerner det siste elementet i en liste, eller returnerer null hvis en liste er tom.
Og pop() Det spretter et element fra stabelen representert av en liste.
void push (E e) Den skyver et element inn på stabelen representert av en liste.
E fjern() Den brukes til å hente og fjerne det første elementet i en liste.
E remove(int index) Den brukes til å fjerne elementet på den angitte posisjonen i en liste.
boolsk fjern (Objekt o) Den brukes til å fjerne den første forekomsten av det angitte elementet i en liste.
E removeFirst() Den fjerner og returnerer det første elementet fra en liste.
boolsk fjernFirstOccurrence(Objekt o) Den brukes til å fjerne den første forekomsten av det angitte elementet i en liste (når du krysser listen fra hode til hale).
E removeLast() Den fjerner og returnerer det siste elementet fra en liste.
boolesk removeLastOccurrence(Objekt o) Den fjerner den siste forekomsten av det angitte elementet i en liste (når du krysser listen fra hode til hale).
E sett (int indeks, E element) Den erstatter elementet på den angitte posisjonen i en liste med det angitte elementet.
Objekt[] tilArray() Den brukes til å returnere en matrise som inneholder alle elementene i en liste i riktig rekkefølge (fra første til siste element).
T[] tilArray(T[] a) Den returnerer en matrise som inneholder alle elementene i riktig rekkefølge (fra første til siste element); kjøretidstypen for den returnerte matrisen er den for den angitte matrisen.
int størrelse() Den brukes til å returnere antall elementer i en liste.

Eksempel på Java LinkedList

 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 eksempel for å legge til elementer

Her ser vi forskjellige måter å legge til elementer på.

 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 eksempel for å fjerne elementer

Her ser vi forskjellige måter å fjerne et element på.

 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 Eksempel for å reversere en liste over elementer

 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 Eksempel: 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); } } } 

Produksjon:

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