logo

Java LinkedList klasa

Hijerarhija klasa Java LinkedList

Klasa Java LinkedList koristi dvostruko povezani popis za pohranu elemenata. Pruža podatkovnu strukturu povezane liste. Nasljeđuje klasu AbstractList i implementira sučelja List i Deque.

Važne točke vezane uz Java LinkedList su:

  • Klasa Java LinkedList može sadržavati duplikate elemenata.
  • Klasa Java LinkedList održava redoslijed umetanja.
  • Klasa Java LinkedList nije sinkronizirana.
  • U klasi Java LinkedList, manipulacija je brza jer ne mora doći do pomaka.
  • Java LinkedList klasa može se koristiti kao lista, hrpa ili red čekanja.

Hijerarhija klase LinkedList

Kao što je prikazano na gornjem dijagramu, klasa Java LinkedList proširuje klasu AbstractSequentialList i implementira sučelja List i Deque.

pokušaj catch blok u Javi

Dvostruko povezani popis

U slučaju dvostruko povezane liste, možemo dodati ili ukloniti elemente s obje strane.

java klasa LinkedList koja koristi dvostruko povezani popis

Deklaracija klase LinkedList

Pogledajmo deklaraciju za klasu java.util.LinkedList.

 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

Konstruktori Java LinkedList-a

Konstruktor Opis
LinkedList() Koristi se za izradu prazne liste.
LinkedList (zbirka c) Koristi se za izradu popisa koji sadrži elemente navedene zbirke, redoslijedom kojim ih vraća iterator zbirke.

Metode Java LinkedList-a

metoda Opis
Booleov zbroj (E e) Koristi se za dodavanje navedenog elementa na kraj popisa.
void add(int indeks, E element) Koristi se za umetanje navedenog elementa na navedeno mjesto indeksa na popisu.
boolean addAll(kolekcija c) Koristi se za dodavanje svih elemenata u navedenoj zbirci na kraj ovog popisa, redoslijedom kojim ih je vratio iterator navedene zbirke.
boolean addAll(kolekcija c) Koristi se za dodavanje svih elemenata u navedenoj zbirci na kraj ovog popisa, redoslijedom kojim ih je vratio iterator navedene zbirke.
boolean addAll(int indeks, zbirka c) Koristi se za dodavanje svih elemenata u navedenoj kolekciji, počevši od navedenog položaja popisa.
void addFirst(E e) Koristi se za umetanje zadanog elementa na početak liste.
void addLast(E e) Koristi se za dodavanje zadanog elementa na kraj liste.
praznina jasno() Koristi se za uklanjanje svih elemenata s popisa.
Klon objekta() Koristi se za vraćanje plitke kopije ArrayList-a.
Boolean sadrži (objekt o) Koristi se za vraćanje true ako popis sadrži određeni element.
Silazni iteratorIterator() Koristi se za vraćanje iteratora preko elemenata u dequeu obrnutim redoslijedom.
E element() Koristi se za dohvaćanje prvog elementa popisa.
E get(int index) Koristi se za vraćanje elementa na navedeno mjesto na popisu.
E getFirst() Koristi se za vraćanje prvog elementa na popisu.
E getLast() Koristi se za vraćanje posljednjeg elementa na popisu.
int indexOf(Object o) Koristi se za vraćanje indeksa na popisu prvog pojavljivanja navedenog elementa ili -1 ako popis ne sadrži nijedan element.
int lastIndexOf(Object o) Koristi se za vraćanje indeksa na popisu posljednjeg pojavljivanja navedenog elementa ili -1 ako popis ne sadrži nijedan element.
ListIterator listIterator(int indeks) Koristi se za vraćanje popisa iteratora elemenata u ispravnom nizu, počevši od specificirane pozicije na popisu.
Booleova ponuda (E e) Dodaje navedeni element kao posljednji element popisa.
Booleova ponudaPrva(E e) Umeće navedeni element na početak liste.
booleova ponudazadnja(E e) Umeće navedeni element na kraj popisa.
E zaviriti() Dohvaća prvi element popisa
E peekFirst() Dohvaća prvi element popisa ili vraća null ako je popis prazan.
E peekLast() Dohvaća posljednji element popisa ili vraća null ako je popis prazan.
E anketa() Dohvaća i uklanja prvi element popisa.
E pollFirst() Dohvaća i uklanja prvi element popisa ili vraća null ako je popis prazan.
E anketaZadnja() Dohvaća i uklanja posljednji element popisa ili vraća null ako je popis prazan.
i pop() Izbacuje element iz hrpe predstavljen popisom.
void push (E e) Gura element na stog predstavljen popisom.
E ukloni() Koristi se za dohvaćanje i uklanjanje prvog elementa popisa.
E ukloniti (indeks) Koristi se za uklanjanje elementa na određenom mjestu na popisu.
boolean ukloniti (objekt o) Koristi se za uklanjanje prvog pojavljivanja navedenog elementa na popisu.
E removeFirst() Uklanja i vraća prvi element s popisa.
boolean removeFirstOccurrence(Object o) Koristi se za uklanjanje prvog pojavljivanja navedenog elementa na popisu (kada prelazite popis od glave do repa).
E uklonizadnji() Uklanja i vraća posljednji element s popisa.
boolean removeLastOccurrence(Object o) Uklanja posljednje pojavljivanje navedenog elementa na popisu (kada prelazite popis od glave do repa).
E skup (int indeks, E element) Zamjenjuje element na navedenom mjestu na popisu navedenim elementom.
Object[] toArray() Koristi se za vraćanje niza koji sadrži sve elemente na popisu u ispravnom nizu (od prvog do zadnjeg elementa).
T[] u Niz(T[] a) Vraća niz koji sadrži sve elemente u odgovarajućem nizu (od prvog do zadnjeg elementa); tip vremena izvođenja vraćenog niza je onaj navedenog niza.
int size() Koristi se za vraćanje broja elemenata na popisu.

Primjer 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 primjer za dodavanje elemenata

Ovdje vidimo različite načine dodavanja elemenata.

pretvaranje niza u cijeli broj
 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 primjer za uklanjanje elemenata

Ovdje vidimo različite načine uklanjanja elementa.

 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 Primjer obrnutog popisa elemenata

 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 Primjer: Knjiga

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

Izlaz:

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