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