logo

Java LinkedList osztály

Java LinkedList osztályhierarchia

A Java LinkedList osztály duplán linkelt listát használ az elemek tárolására. Ez egy linkelt lista adatszerkezetet biztosít. Megörökli az AbstractList osztályt, és megvalósítja a List és Deque interfészt.

A Java LinkedList fontos pontjai a következők:

  • A Java LinkedList osztály duplikált elemeket tartalmazhat.
  • A Java LinkedList osztály fenntartja a beillesztési sorrendet.
  • A Java LinkedList osztály nincs szinkronizálva.
  • A Java LinkedList osztályban a manipuláció gyors, mivel nincs szükség eltolásra.
  • A Java LinkedList osztály használható listaként, veremként vagy sorként.

A LinkedList osztály hierarchiája

Amint a fenti diagramon látható, a Java LinkedList osztály kiterjeszti az AbstractSequentialList osztályt, és megvalósítja a List és Deque felületeket.

youtube vlc médialejátszó letöltése

Duplán linkelt lista

Duplán linkelt lista esetén mindkét oldalról tudunk elemeket hozzáadni vagy eltávolítani.

java LinkedList osztály duplán linkelt listát használva

LinkedList osztálydeklaráció

Lássuk a java.util.LinkedList osztály deklarációját.

concat java karakterlánc
 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 

A Java LinkedList konstruktorai

Konstruktőr Leírás
LinkedList() Üres lista összeállítására szolgál.
LinkedList (c gyűjtemény) A megadott gyűjtemény elemeit tartalmazó lista összeállítására szolgál, sorrendben, azokat a gyűjtemény iterátora adja vissza.

A Java LinkedList módszerei

Módszer Leírás
logikai összeadás(E e) Arra szolgál, hogy a megadott elemet hozzáfűzze a lista végéhez.
void add(int index, E elem) A megadott elem beszúrására szolgál a listában a megadott pozícióindexbe.
logikai addAll(c gyűjtemény) Ez arra szolgál, hogy a megadott gyűjtemény összes elemét hozzáfűzze a lista végéhez, abban a sorrendben, ahogyan azokat a megadott gyűjtemény iterátora visszaküldi.
logikai addAll(c gyűjtemény) Ez arra szolgál, hogy a megadott gyűjtemény összes elemét hozzáfűzze a lista végéhez, abban a sorrendben, ahogyan azokat a megadott gyűjtemény iterátora visszaküldi.
logikai addAll(int index, c gyűjtemény) A megadott gyűjtemény összes elemének hozzáfűzésére szolgál, a lista megadott helyétől kezdve.
void addFirst(E e) Az adott elem beszúrására szolgál a lista elejére.
void addLast(E e) Ez arra szolgál, hogy az adott elemet a lista végéhez fűzze.
void clear() A lista összes elemének eltávolítására szolgál.
Objektum klón() Egy ArrayList sekély másolatának visszaadására szolgál.
logikai érték tartalmazza (o objektum) Ez igazat ad vissza, ha egy lista meghatározott elemet tartalmaz.
Iterátor descendingIterator() Arra használják, hogy egy iterátort adjon vissza az elemekre egy deque-ben, fordított sorrendben.
E elem() A lista első elemének lekérésére szolgál.
E get(int index) Ez arra szolgál, hogy az elemet a listában a megadott pozícióban adja vissza.
E getFirst() A lista első elemének visszaadására szolgál.
E getLast() A lista utolsó elemének visszaadására szolgál.
int indexOf(O objektum) Ez az index visszaadására szolgál a megadott elem első előfordulásának listájában, vagy -1, ha a lista nem tartalmaz elemet.
int lastIndexOf(O objektum) Az index visszaadására szolgál a megadott elem legutóbbi előfordulásának listájában, vagy -1, ha a lista nem tartalmaz elemet.
ListIterator listIterator(int index) Ez arra szolgál, hogy visszaadja az elemek lista-iterátorát a megfelelő sorrendben, a lista megadott helyétől kezdve.
logikai ajánlat (E e) A megadott elemet a lista utolsó elemeként adja hozzá.
logikai ajánlat első (E e) A megadott elemet a lista elejére szúrja be.
logikai ajánlatLast(E e) A megadott elemet beszúrja a lista végére.
E kukucskál() Lekéri a lista első elemét
E peekFirst() Lekéri a lista első elemét, vagy nullát ad vissza, ha a lista üres.
E peekLast() Lekéri a lista utolsó elemét, vagy nullát ad vissza, ha a lista üres.
E szavazás() Lekéri és eltávolítja a lista első elemét.
E pollFirst() Lekéri és eltávolítja a lista első elemét, vagy nullát ad vissza, ha a lista üres.
E pollLast() Lekéri és eltávolítja a lista utolsó elemét, vagy nullát ad vissza, ha a lista üres.
És pop() Kiugrik egy elemet a lista által képviselt veremből.
üres nyomás (E e) Egy elemet a lista által képviselt verembe helyez.
E Remove() A lista első elemének lekérésére és eltávolítására szolgál.
E eltávolítás (int index) A lista meghatározott helyén lévő elem eltávolítására szolgál.
logikai eltávolítás (O-objektum) A megadott elem első előfordulásának eltávolítására szolgál a listából.
E RemoveFirst() Eltávolítja és visszaadja a lista első elemét.
logikai távoli első előfordulás (O-objektum) A megadott elem első előfordulásának eltávolítására szolgál a listából (a lista fejétől a farokig való bejárásakor).
E RemoveLast() Eltávolítja és visszaadja a lista utolsó elemét.
Boolean RemoveLastOccurrence(O-objektum) Eltávolítja a megadott elem utolsó előfordulását a listából (a lista fejétől a végéig való bejáráskor).
E halmaz(int index, E elem) Lecseréli a listában a megadott helyen lévő elemet a megadott elemre.
Object[] toArray() Egy olyan tömb visszaadására szolgál, amely a lista összes elemét tartalmazza megfelelő sorrendben (az elsőtől az utolsó elemig).
T[] toArray(T[] a) Egy tömböt ad vissza, amely az összes elemet tartalmazza a megfelelő sorrendben (az elsőtől az utolsó elemig); a visszaadott tömb futásidejű típusa a megadott tömbé.
int size() A lista elemeinek számának visszaadására szolgál.

Java LinkedList példa

 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 példa elemek hozzáadásához

Itt különböző módokat láthatunk az elemek hozzáadására.

 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 példa elemek eltávolítására

Itt különböző módokat látunk egy elem eltávolítására.

 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élda az elemek listájának megfordításához

 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 Példa: Könyv

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

Kimenet:

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