logo

Trieda Java LinkedList

Hierarchia tried Java LinkedList

Trieda Java LinkedList používa na ukladanie prvkov dvojitý prepojený zoznam. Poskytuje dátovú štruktúru prepojeného zoznamu. Zdedí triedu AbstractList a implementuje rozhrania List a Deque.

Dôležité body o Java LinkedList sú:

  • Trieda Java LinkedList môže obsahovať duplicitné prvky.
  • Trieda Java LinkedList udržiava poradie vkladania.
  • Trieda Java LinkedList nie je synchronizovaná.
  • V triede Java LinkedList je manipulácia rýchla, pretože nemusí dôjsť k žiadnemu posunu.
  • Java LinkedList trieda môže byť použitá ako zoznam, zásobník alebo front.

Hierarchia triedy LinkedList

Ako je znázornené na obrázku vyššie, trieda Java LinkedList rozširuje triedu AbstractSequentialList a implementuje rozhrania List a Deque.

plná forma

Dvojito prepojený zoznam

V prípade dvojito prepojeného zoznamu môžeme pridávať alebo odoberať prvky z oboch strán.

java trieda LinkedList pomocou dvojito prepojeného zoznamu

Deklarácia triedy LinkedList

Pozrime sa na deklaráciu pre triedu java.util.LinkedList.

gimp zmení farbu
 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

Konštruktéri Java LinkedList

Konštruktér Popis
LinkedList() Používa sa na vytvorenie prázdneho zoznamu.
LinkedList (Kolekcia c) Používa sa na zostavenie zoznamu obsahujúceho prvky zadanej kolekcie, v poradí ich vracia iterátor kolekcie.

Metódy Java LinkedList

Metóda Popis
boolovské sčítanie (E e) Používa sa na pripojenie špecifikovaného prvku na koniec zoznamu.
void add (int index, E prvok) Používa sa na vloženie určeného prvku na zadaný index pozície v zozname.
boolean addAll(kolekcia c) Používa sa na pripojenie všetkých prvkov v zadanej kolekcii na koniec tohto zoznamu v poradí, v akom ich vráti iterátor zadanej kolekcie.
boolean addAll(kolekcia c) Používa sa na pripojenie všetkých prvkov v zadanej kolekcii na koniec tohto zoznamu v poradí, v akom ich vráti iterátor zadanej kolekcie.
boolean addAll(int index, kolekcia c) Používa sa na pripojenie všetkých prvkov v zadanej kolekcii, počnúc od zadanej pozície zoznamu.
void addFirst(E e) Používa sa na vloženie daného prvku na začiatok zoznamu.
void addLast(E e) Používa sa na pripojenie daného prvku na koniec zoznamu.
void clear() Používa sa na odstránenie všetkých prvkov zo zoznamu.
Object clone() Používa sa na vrátenie plytkej kópie ArrayList.
boolean obsahuje (Objekt o) Používa sa na vrátenie true, ak zoznam obsahuje špecifikovaný prvok.
Iterátor zostupneIterator() Používa sa na vrátenie iterátora nad prvkami v deque v opačnom poradí.
E prvok() Používa sa na získanie prvého prvku zoznamu.
E get (int index) Používa sa na vrátenie prvku na určené miesto v zozname.
E getFirst() Používa sa na vrátenie prvého prvku v zozname.
E getLast() Používa sa na vrátenie posledného prvku v zozname.
int indexOf(Objekt o) Používa sa na vrátenie indexu v zozname prvého výskytu zadaného prvku alebo -1, ak zoznam neobsahuje žiadny prvok.
int lastIndexOf(Object o) Používa sa na vrátenie indexu v zozname posledného výskytu zadaného prvku alebo -1, ak zoznam neobsahuje žiadny prvok.
ListIterator listIterator(int index) Používa sa na vrátenie iterátora zoznamu prvkov v správnom poradí, začínajúc na zadanej pozícii v zozname.
booleovská ponuka (E e) Pridá špecifikovaný prvok ako posledný prvok zoznamu.
booleovská ponukaFirst(E e) Vloží zadaný prvok na začiatok zoznamu.
boolovská ponukaPosledná(E e) Vloží zadaný prvok na koniec zoznamu.
E nahliadnuť () Získa prvý prvok zoznamu
E peekFirst() Načíta prvý prvok zoznamu alebo vráti hodnotu null, ak je zoznam prázdny.
E peekLast() Načíta posledný prvok zoznamu alebo vráti hodnotu null, ak je zoznam prázdny.
E anketa() Načíta a odstráni prvý prvok zoznamu.
E pollFirst() Načíta a odstráni prvý prvok zoznamu alebo vráti hodnotu null, ak je zoznam prázdny.
E pollLast() Načíta a odstráni posledný prvok zoznamu alebo vráti hodnotu null, ak je zoznam prázdny.
A pop () Vytiahne prvok zo zásobníka reprezentovaného zoznamom.
void push (E e) Vloží prvok do zásobníka reprezentovaného zoznamom.
E odstrániť() Používa sa na získanie a odstránenie prvého prvku zoznamu.
E odstrániť (int index) Používa sa na odstránenie prvku na určenom mieste v zozname.
boolovské odstránenie (objekt o) Používa sa na odstránenie prvého výskytu zadaného prvku v zozname.
E removeFirst() Odstráni a vráti prvý prvok zo zoznamu.
boolean removeFirstOccurrence(Object o) Používa sa na odstránenie prvého výskytu zadaného prvku v zozname (pri prechádzaní zoznamom od hlavy po koniec).
E removeLast() Odstráni a vráti posledný prvok zo zoznamu.
boolean removeLastOccurrence(Object o) Odstráni posledný výskyt zadaného prvku v zozname (pri prechádzaní zoznamom od hlavy po koniec).
E sada (int index, E prvok) Nahradí prvok na zadanej pozícii v zozname zadaným prvkom.
Object[] toArray() Používa sa na vrátenie poľa obsahujúceho všetky prvky v zozname v správnom poradí (od prvého po posledný prvok).
T[] toArray(T[] a) Vracia pole obsahujúce všetky prvky v správnom poradí (od prvého po posledný prvok); typ runtime vráteného poľa je typ zadaného poľa.
int size() Používa sa na vrátenie počtu prvkov v zozname.

Príklad 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 

Príklad Java LinkedList na pridanie prvkov

Tu vidíme rôzne spôsoby pridávania prvkov.

 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] 

Príklad Java LinkedList na odstránenie prvkov

Tu vidíme rôzne spôsoby odstránenia prvku.

 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: [] 

Príklad Java LinkedList na zvrátenie zoznamu prvkov

 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 

Príklad Java LinkedList: Kniha

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

Výkon:

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