logo

třída Java LinkedList

Hierarchie tříd Java LinkedList

Třída Java LinkedList používá k ukládání prvků dvojitě propojený seznam. Poskytuje datovou strukturu propojeného seznamu. Zdědí třídu AbstractList a implementuje rozhraní List a Deque.

Důležité body o Java LinkedList jsou:

  • Třída Java LinkedList může obsahovat duplicitní prvky.
  • Třída Java LinkedList udržuje pořadí vložení.
  • Třída Java LinkedList není synchronizovaná.
  • Ve třídě Java LinkedList je manipulace rychlá, protože nemusí docházet k žádnému posunu.
  • Třídu Java LinkedList lze použít jako seznam, zásobník nebo frontu.

Hierarchie třídy LinkedList

Jak ukazuje výše uvedený diagram, třída Java LinkedList rozšiřuje třídu AbstractSequentialList a implementuje rozhraní List a Deque.

ipconfig pro linux zdarma

Dvojitě propojený seznam

V případě dvojitě propojeného seznamu můžeme přidávat nebo odebírat prvky z obou stran.

java třída LinkedList používající dvojitě propojený seznam

Deklarace třídy LinkedList

Podívejme se na deklaraci třídy java.util.LinkedList.

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

Konstruktéři Java LinkedList

Konstruktér Popis
Spojový seznam() Používá se k vytvoření prázdného seznamu.
LinkedList (kolekce c) Používá se k sestavení seznamu obsahujícího prvky zadané kolekce, v pořadí je vrací iterátor kolekce.

Metody Java LinkedList

Metoda Popis
booleovské sčítání (E e) Používá se k připojení zadaného prvku na konec seznamu.
void add (index int, prvek E) Používá se k vložení zadaného prvku na zadaný index pozice v seznamu.
boolean addAll(kolekce c) Používá se k připojení všech prvků v zadané kolekci na konec tohoto seznamu v pořadí, v jakém jsou vráceny iterátorem zadané kolekce.
boolean addAll(kolekce c) Používá se k připojení všech prvků v zadané kolekci na konec tohoto seznamu v pořadí, v jakém jsou vráceny iterátorem zadané kolekce.
boolean addAll(int index, kolekce c) Používá se k připojení všech prvků v zadané kolekci počínaje zadanou pozicí seznamu.
void addFirst(E e) Slouží k vložení daného prvku na začátek seznamu.
void addLast(E e) Slouží k připojení daného prvku na konec seznamu.
void clear() Používá se k odstranění všech prvků ze seznamu.
Object clone() Používá se k vrácení mělké kopie ArrayList.
boolean obsahuje (Objekt o) Používá se k vrácení true, pokud seznam obsahuje zadaný prvek.
Sestupně iterátorIterator() Používá se k vrácení iterátoru nad prvky v deque v obráceném pořadí.
E prvek() Používá se k načtení prvního prvku seznamu.
E get (int index) Používá se k vrácení prvku na zadanou pozici v seznamu.
E getFirst() Používá se k vrácení prvního prvku v seznamu.
E getLast() Používá se k vrácení posledního prvku v seznamu.
int indexOf(Objekt o) Používá se k vrácení indexu v seznamu prvního výskytu zadaného prvku nebo -1, pokud seznam neobsahuje žádný prvek.
int lastIndexOf(Object o) Používá se k vrácení indexu v seznamu posledního výskytu zadaného prvku nebo -1, pokud seznam neobsahuje žádný prvek.
ListIterator listIterator(int index) Používá se k vrácení iterátoru seznamu prvků ve správném pořadí, počínaje zadanou pozicí v seznamu.
booleovská nabídka (E e) Přidá zadaný prvek jako poslední prvek seznamu.
booleovská nabídkaFirst(E e) Vloží zadaný prvek na začátek seznamu.
booleovská nabídka Poslední (E e) Vloží zadaný prvek na konec seznamu.
Podívejte se () Načte první prvek seznamu
E peekFirst() Načte první prvek seznamu nebo vrátí hodnotu null, pokud je seznam prázdný.
E peekLast() Načte poslední prvek seznamu nebo vrátí hodnotu null, pokud je seznam prázdný.
E anketa() Načte a odstraní první prvek seznamu.
E pollFirst() Načte a odstraní první prvek seznamu nebo vrátí hodnotu null, pokud je seznam prázdný.
E pollLast() Načte a odstraní poslední prvek seznamu nebo vrátí hodnotu null, pokud je seznam prázdný.
a pop() Vytáhne prvek ze zásobníku reprezentovaného seznamem.
void push (E e) Vloží prvek do zásobníku reprezentovaného seznamem.
E odstranit() Používá se k načtení a odstranění prvního prvku seznamu.
E odstranit (int index) Používá se k odstranění prvku na určené pozici v seznamu.
booleovské odstranění (objekt o) Používá se k odstranění prvního výskytu zadaného prvku v seznamu.
E removeFirst() Odebere a vrátí první prvek ze seznamu.
boolean removeFirstOccurrence(Object o) Používá se k odstranění prvního výskytu zadaného prvku v seznamu (při procházení seznamu od hlavy k patě).
E removeLast() Odebere a vrátí poslední prvek ze seznamu.
boolean removeLastOccurrence(Object o) Odebere poslední výskyt zadaného prvku v seznamu (při procházení seznamu od hlavy k patě).
E sada (int index, E prvek) Nahradí prvek na zadané pozici v seznamu zadaným prvkem.
Object[] toArray() Používá se k vrácení pole obsahujícího všechny prvky v seznamu ve správném pořadí (od prvního po poslední prvek).
T[] toArray(T[] a) Vrací pole obsahující všechny prvky ve správném pořadí (od prvního po poslední prvek); typ runtime vráceného pole je typ zadaného pole.
int size() Používá se k vrácení počtu prvků v seznamu.

Pří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 

Příklad Java LinkedList pro přidání prvků

Zde vidíme různé způsoby přidávání prvků.

 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] 

Příklad Java LinkedList pro odstranění prvků

Zde vidíme různé způsoby odstranění 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: [] 

Java LinkedList Příklad pro obrácení seznamu prvků

 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 

Pří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ýstup:

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