Razred Java LinkedList za shranjevanje elementov uporablja dvojno povezan seznam. Zagotavlja podatkovno strukturo povezanega seznama. Podeduje razred AbstractList in implementira vmesnika List in Deque.
Pomembne točke o Java LinkedList so:
- Razred Java LinkedList lahko vsebuje podvojene elemente.
- Razred Java LinkedList vzdržuje vrstni red vstavljanja.
- Razred Java LinkedList ni sinhroniziran.
- V razredu Java LinkedList je manipulacija hitra, ker ni potreben noben premik.
- Razred Java LinkedList se lahko uporablja kot seznam, sklad ali čakalna vrsta.
Hierarhija razreda LinkedList
Kot je prikazano v zgornjem diagramu, razred Java LinkedList razširja razred AbstractSequentialList in izvaja vmesnika List in Deque.
c program za dvodimenzionalni niz
Dvojno povezan seznam
V primeru dvojno povezanega seznama lahko dodajamo ali odstranjujemo elemente z obeh strani.
Deklaracija razreda LinkedList
Oglejmo si deklaracijo za razred java.util.LinkedList.
csv datoteka branje java
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable
Konstruktorji Java LinkedList
Konstruktor | Opis |
---|---|
LinkedList() | Uporablja se za izdelavo praznega seznama. |
LinkedList (zbirka c) | Uporablja se za izdelavo seznama, ki vsebuje elemente podane zbirke v vrstnem redu, ki jih vrne iterator zbirke. |
Metode Java LinkedList
Metoda | Opis |
---|---|
logični dodatek (E e) | Uporablja se za dodajanje določenega elementa na konec seznama. |
void add (int indeks, E element) | Uporablja se za vstavljanje podanega elementa na podani indeks položaja na seznamu. |
logično dodajVse (Zbirka c) | Uporablja se za dodajanje vseh elementov v podani zbirki na konec tega seznama v vrstnem redu, kot jih vrne iterator podane zbirke. |
logično dodajVse (Zbirka c) | Uporablja se za dodajanje vseh elementov v podani zbirki na konec tega seznama v vrstnem redu, kot jih vrne iterator podane zbirke. |
boolean addAll(int indeks, zbirka c) | Uporablja se za dodajanje vseh elementov v podani zbirki, začenši na podanem mestu seznama. |
void addFirst(E e) | Uporablja se za vstavljanje podanega elementa na začetek seznama. |
void addLast(E e) | Uporablja se za dodajanje danega elementa na konec seznama. |
void clear() | Uporablja se za odstranitev vseh elementov s seznama. |
Klon predmeta() | Uporablja se za vrnitev plitke kopije seznama ArrayList. |
logično vsebuje (predmet o) | Uporablja se za vrnitev true, če seznam vsebuje določen element. |
Iterator descendingIterator() | Uporablja se za vrnitev iteratorja nad elementi v deque v obratnem zaporednem vrstnem redu. |
E element () | Uporablja se za pridobivanje prvega elementa seznama. |
E get(indeks) | Uporablja se za vrnitev elementa na določen položaj na seznamu. |
E getFirst() | Uporablja se za vrnitev prvega elementa na seznamu. |
E getLast() | Uporablja se za vrnitev zadnjega elementa na seznamu. |
int indexOf(predmet o) | Uporablja se za vrnitev indeksa na seznamu prve pojavitve podanega elementa ali -1, če seznam ne vsebuje nobenega elementa. |
int lastIndexOf(Object o) | Uporablja se za vrnitev indeksa na seznamu zadnje pojavitve podanega elementa ali -1, če seznam ne vsebuje nobenega elementa. |
ListIterator listIterator(int indeks) | Uporablja se za vrnitev iteratorja seznama elementov v pravilnem zaporedju, ki se začne na določenem mestu na seznamu. |
logična ponudba (E e) | Navedeni element doda kot zadnji element seznama. |
logična ponudbaFirst(E e) | Navedeni element vstavi na začetek seznama. |
logična ponudba Zadnja (E e) | Navedeni element vstavi na konec seznama. |
E pokukaj() | Pridobi prvi element seznama |
E peekFirst() | Pridobi prvi element seznama ali vrne ničelno vrednost, če je seznam prazen. |
E peekLast() | Pridobi zadnji element seznama ali vrne ničelno vrednost, če je seznam prazen. |
E anketa() | Pridobi in odstrani prvi element seznama. |
E anketaFirst() | Pridobi in odstrani prvi element seznama ali vrne ničelno vrednost, če je seznam prazen. |
E anketa Zadnja() | Pridobi in odstrani zadnji element seznama ali vrne ničelno vrednost, če je seznam prazen. |
In pop() | Izstopi element iz sklada, ki ga predstavlja seznam. |
void push (E e) | Element potisne na sklad, ki ga predstavlja seznam. |
E odstrani() | Uporablja se za pridobitev in odstranitev prvega elementa seznama. |
E odstrani (indeks) | Uporablja se za odstranitev elementa na določenem mestu na seznamu. |
logično odstranjevanje (predmet o) | Uporablja se za odstranitev prve pojavitve določenega elementa na seznamu. |
E odstraniPrvi() | Odstrani in vrne prvi element s seznama. |
logična vrednost removeFirstOccurrence(Object o) | Uporablja se za odstranitev prve pojavitve določenega elementa na seznamu (pri prečkanju seznama od glave do repa). |
E odstranizadnjo() | Odstrani in vrne zadnji element s seznama. |
boolean removeLastOccurrence(Object o) | Odstrani zadnjo pojavitev podanega elementa na seznamu (pri prečkanju seznama od glave do repa). |
E niz (int indeks, E element) | Zamenja element na podanem mestu na seznamu s podanim elementom. |
Objekt[] vArray() | Uporablja se za vrnitev matrike, ki vsebuje vse elemente na seznamu v pravilnem zaporedju (od prvega do zadnjega elementa). |
T[] v Array(T[] a) | Vrne matriko, ki vsebuje vse elemente v pravilnem zaporedju (od prvega do zadnjega elementa); vrsta izvajalnega časa vrnjene matrike je navedena matrika. |
int size() | Uporablja se za vrnitev števila elementov na seznamu. |
Primer 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
Primer Java LinkedList za dodajanje elementov
Tukaj vidimo različne načine dodajanja elementov.
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]
Primer Java LinkedList za odstranjevanje elementov
Tukaj vidimo različne načine za odstranitev 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: []
Primer Java LinkedList za obračanje seznama elementov
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
Primer Java LinkedList: 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); } } }
Izhod:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6