Java LinkedList -luokka käyttää kaksoislinkitettyä listaa elementtien tallentamiseen. Se tarjoaa linkitetyn luettelon tietorakenteen. Se perii AbstractList-luokan ja toteuttaa List- ja Deque-liitännät.
Java LinkedListin tärkeimmät kohdat ovat:
- Java LinkedList -luokka voi sisältää päällekkäisiä elementtejä.
- Java LinkedList -luokka ylläpitää lisäysjärjestystä.
- Java LinkedList -luokkaa ei ole synkronoitu.
- Java LinkedList -luokassa manipulointi on nopeaa, koska siirtoa ei tarvitse tapahtua.
- Java LinkedList -luokkaa voidaan käyttää listana, pinona tai jonona.
LinkedList-luokan hierarkia
Kuten yllä olevasta kaaviosta näkyy, Java LinkedList -luokka laajentaa AbstractSequentialList-luokkaa ja toteuttaa List- ja Deque-liitännät.
arp-a-komento
Kaksoislinkitetty lista
Kun kyseessä on kaksoislinkitetty luettelo, voimme lisätä tai poistaa elementtejä molemmilta puolilta.
LinkedList-luokkailmoitus
Katsotaanpa java.util.LinkedList-luokan ilmoitus.
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable
Java LinkedListin rakentajat
Rakentaja | Kuvaus |
---|---|
LinkedList() | Sitä käytetään tyhjän listan muodostamiseen. |
Linkitetty luettelo (kokoelma c) | Sitä käytetään luomaan luettelo, joka sisältää määritetyn kokoelman elementit järjestyksessä, jossa kokoelman iteraattori palauttaa ne. |
Java LinkedListin menetelmät
Menetelmä | Kuvaus |
---|---|
boolen lisäys(E e) | Sitä käytetään liittämään määritetty elementti luettelon loppuun. |
void add(int-indeksi, E-elementti) | Sitä käytetään määritetyn elementin lisäämiseen luettelon määritettyyn paikkaindeksiin. |
boolean addAll(kokoelma c) | Sitä käytetään liittämään kaikki määritetyn kokoelman elementit tämän luettelon loppuun siinä järjestyksessä, jossa määritetyn kokoelman iteraattori palauttaa ne. |
boolean addAll(kokoelma c) | Sitä käytetään liittämään kaikki määritetyn kokoelman elementit tämän luettelon loppuun siinä järjestyksessä, jossa määritetyn kokoelman iteraattori palauttaa ne. |
boolean addAll(int-indeksi, kokoelma c) | Sitä käytetään liittämään kaikki määritetyn kokoelman elementit luettelon määritetystä kohdasta alkaen. |
void addFirst(E e) | Sitä käytetään lisäämään annettu elementti luettelon alkuun. |
void addLast(E e) | Sitä käytetään liittämään annettu elementti luettelon loppuun. |
void clear () | Sitä käytetään poistamaan kaikki elementit luettelosta. |
Objektin klooni() | Sitä käytetään palauttamaan matala kopio ArrayLististä. |
boolean sisältää (Objekti o) | Sitä käytetään palauttamaan tosi, jos luettelo sisältää tietyn elementin. |
Iterator descendingIterator() | Sitä käytetään palauttamaan iteraattori elementtien päälle deque-järjestyksessä käänteisessä järjestyksessä. |
E elementti() | Sitä käytetään luettelon ensimmäisen elementin hakemiseen. |
E get(int index) | Sitä käytetään palauttamaan elementti määritettyyn kohtaan luettelossa. |
E getFirst() | Sitä käytetään palauttamaan luettelon ensimmäinen elementti. |
E getLast() | Sitä käytetään palauttamaan luettelon viimeinen elementti. |
int indexOf(objekti o) | Sitä käytetään palauttamaan indeksi määritetyn elementin ensimmäisen esiintymisen luettelossa tai -1, jos luettelo ei sisällä mitään elementtiä. |
int lastIndexOf(Object o) | Sitä käytetään palauttamaan indeksi määritetyn elementin viimeisimmän esiintymisen luettelossa tai -1, jos luettelo ei sisällä yhtään elementtiä. |
ListIterator listIterator(int index) | Sitä käytetään palauttamaan elementtien lista-iteraattori oikeassa järjestyksessä, alkaen määritetystä kohdasta luettelossa. |
Boolen tarjous (E e) | Se lisää määritetyn elementin luettelon viimeiseksi elementiksi. |
Boolen tarjous ensin(E e) | Se lisää määritetyn elementin luettelon alkuun. |
boolen tarjousViimeinen(E e) | Se lisää määritetyn elementin luettelon loppuun. |
E kurkista() | Se hakee luettelon ensimmäisen elementin |
E peekFirst() | Se hakee luettelon ensimmäisen elementin tai palauttaa nollan, jos luettelo on tyhjä. |
E peekLast() | Se hakee luettelon viimeisen elementin tai palauttaa nollan, jos luettelo on tyhjä. |
E kysely () | Se hakee ja poistaa luettelon ensimmäisen elementin. |
E kysely Ensimmäinen() | Se hakee ja poistaa luettelon ensimmäisen elementin tai palauttaa nollan, jos luettelo on tyhjä. |
E kysely Viimeinen() | Se hakee ja poistaa luettelon viimeisen elementin tai palauttaa nollan, jos luettelo on tyhjä. |
Ja pop() | Se ponnahtaa listan edustamasta pinosta elementin. |
tyhjä työntö (E e) | Se työntää elementin listan edustamaan pinoon. |
E poista () | Sitä käytetään luettelon ensimmäisen elementin hakemiseen ja poistamiseen. |
E poista (int index) | Sitä käytetään elementin poistamiseen luettelon määritetystä kohdasta. |
boolen poisto (objekti o) | Sitä käytetään määritetyn elementin ensimmäisen esiintymisen poistamiseen luettelosta. |
E poistaFirst() | Se poistaa ja palauttaa luettelon ensimmäisen elementin. |
boolean removeFirstCurrence(Object o) | Sitä käytetään poistamaan määritetyn elementin ensimmäinen esiintyminen luettelosta (kun kuljetaan luetteloa päästä häntään). |
E poistaViimeinen() | Se poistaa ja palauttaa luettelon viimeisen elementin. |
boolean removeLastOccurrence(Object o) | Se poistaa määritetyn elementin viimeisimmän esiintymän luettelosta (kun kuljetaan luetteloa päästä häntään). |
E-joukko(int-indeksi, E-elementti) | Se korvaa luettelossa määritetyn kohdan elementin määritetyllä elementillä. |
Object[] toArray() | Sitä käytetään palauttamaan taulukko, joka sisältää kaikki luettelon elementit oikeassa järjestyksessä (ensimmäisestä viimeiseen elementtiin). |
T[] toArray(T[] a) | Se palauttaa taulukon, joka sisältää kaikki elementit oikeassa järjestyksessä (ensimmäisestä viimeiseen elementtiin); palautetun taulukon ajonaikainen tyyppi on määritetyn taulukon tyyppi. |
int size () | Sitä käytetään palauttamaan luettelon elementtien lukumäärä. |
Java LinkedList -esimerkki
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 -esimerkki elementtien lisäämiseksi
Tässä näemme erilaisia tapoja lisätä elementtejä.
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 -esimerkki elementtien poistamiseksi
Tässä näemme erilaisia tapoja poistaa elementti.
binääripuu inorder traversal
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 Esimerkki elementtiluettelon kääntämisestä
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 Esimerkki: Kirja
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); } } }
Lähtö:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6