„Java LinkedList“ klasė elementams saugoti naudoja dvigubai susietą sąrašą. Jame pateikiama susieto sąrašo duomenų struktūra. Jis paveldi AbstractList klasę ir įgyvendina List ir Deque sąsajas.
Svarbūs dalykai apie „Java LinkedList“ yra šie:
- Java LinkedList klasėje gali būti pasikartojančių elementų.
- Java LinkedList klasė palaiko įterpimo tvarką.
- Java LinkedList klasė nėra sinchronizuota.
- Java LinkedList klasėje manipuliavimas yra greitas, nes nereikia keisti.
- Java LinkedList klasė gali būti naudojama kaip sąrašas, krūva arba eilė.
LinkedList klasės hierarchija
Kaip parodyta aukščiau esančioje diagramoje, „Java LinkedList“ klasė išplečia „AbstractSequentialList“ klasę ir įgyvendina „List“ ir „Deque“ sąsajas.
kaip vykdyti scenarijų
Dvigubai susietas sąrašas
Dvigubai susieto sąrašo atveju galime pridėti arba pašalinti elementus iš abiejų pusių.
LinkedList klasės deklaracija
Pažiūrėkime java.util.LinkedList klasės deklaraciją.
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable
Java LinkedList konstruktoriai
Konstruktorius | apibūdinimas |
---|---|
LinkedList() | Jis naudojamas tuščiam sąrašui sudaryti. |
Susietų sąrašas (C rinkinys) | Jis naudojamas sudaryti sąrašą, kuriame yra nurodytos kolekcijos elementai, tokia tvarka, kad juos grąžintų kolekcijos iteratorius. |
Java LinkedList metodai
Metodas | apibūdinimas |
---|---|
loginis priedas (E e) | Jis naudojamas nurodytam elementui pridėti prie sąrašo pabaigos. |
void add(int indeksas, E elementas) | Jis naudojamas nurodytam elementui įterpti į nurodytą sąrašo pozicijos indeksą. |
loginis pridėti viską (c rinkinys) | Jis naudojamas visiems nurodyto rinkinio elementams pridėti prie šio sąrašo pabaigos tokia tvarka, kokia juos grąžina nurodytos kolekcijos iteratorius. |
loginis pridėti viską (c rinkinys) | Jis naudojamas visiems nurodyto rinkinio elementams pridėti prie šio sąrašo pabaigos tokia tvarka, kokia juos grąžina nurodytos kolekcijos iteratorius. |
loginis addAll(int indeksas, rinkinys c) | Jis naudojamas norint pridėti visus nurodyto rinkinio elementus, pradedant nuo nurodytos sąrašo vietos. |
void addFirst(E e) | Jis naudojamas nurodytam elementui įterpti sąrašo pradžioje. |
void addLast(E e) | Jis naudojamas norint pridėti nurodytą elementą prie sąrašo pabaigos. |
tuščias aiškus () | Jis naudojamas pašalinti visus elementus iš sąrašo. |
Objekto klonas () | Jis naudojamas norint grąžinti negilią ArrayList kopiją. |
loginis yra (O objektas) | Jis naudojamas norint grąžinti „true“, jei sąraše yra nurodytas elementas. |
Iteratorius descendingIterator() | Jis naudojamas norint grąžinti iteratorių per elementus deque atvirkštine seka. |
E elementas () | Jis naudojamas pirmam sąrašo elementui gauti. |
E get (int index) | Jis naudojamas elementui grąžinti nurodytoje sąrašo vietoje. |
E getFirst () | Jis naudojamas norint grąžinti pirmąjį sąrašo elementą. |
E get Last () | Jis naudojamas paskutiniam sąrašo elementui grąžinti. |
int indexOf(O objektas) | Jis naudojamas norint grąžinti indeksą sąraše, kuriame nurodytas pirmasis elementas, arba -1, jei sąraše nėra elemento. |
int lastIndexOf(Object o) | Jis naudojamas norint grąžinti indeksą paskutinio nurodyto elemento pasireiškimo sąraše arba -1, jei sąraše nėra elemento. |
ListIterator listIterator(int index) | Jis naudojamas norint grąžinti elementų sąrašo iteratorių tinkama seka, pradedant nuo nurodytos sąrašo vietos. |
loginis pasiūlymas (E e) | Jis prideda nurodytą elementą kaip paskutinį sąrašo elementą. |
loginis pasiūlymas pirmas (E e) | Jis įterpia nurodytą elementą sąrašo pradžioje. |
loginis pasiūlymas Paskutinis(E e) | Jis įterpia nurodytą elementą sąrašo pabaigoje. |
Pažiūrėk () | Jis nuskaito pirmąjį sąrašo elementą |
E peekFirst () | Jis nuskaito pirmąjį sąrašo elementą arba grąžina nulį, jei sąrašas tuščias. |
E peekLast() | Jis nuskaito paskutinį sąrašo elementą arba grąžina nulį, jei sąrašas tuščias. |
E apklausa () | Jis nuskaito ir pašalina pirmąjį sąrašo elementą. |
E apklausaFirst() | Jis nuskaito ir pašalina pirmąjį sąrašo elementą arba grąžina nulį, jei sąrašas tuščias. |
E apklausa Paskutinė() | Jis nuskaito ir pašalina paskutinį sąrašo elementą arba grąžina nulį, jei sąrašas tuščias. |
Ir pop () | Jis iškelia elementą iš krūvos, kurią atstovauja sąrašas. |
tuščias stūmimas (E e) | Jis stumia elementą į krūvą, vaizduojamą sąraše. |
E pašalinti () | Jis naudojamas pirmam sąrašo elementui gauti ir pašalinti. |
E pašalinti (int index) | Jis naudojamas elementui pašalinti nurodytoje sąrašo vietoje. |
loginis pašalinimas (O objektas) | Jis naudojamas pašalinti pirmąjį nurodyto elemento pasireiškimą sąraše. |
E RemoveFirst () | Jis pašalina ir grąžina pirmąjį elementą iš sąrašo. |
loginis pašalinimas pirmasis įvykis (O objektas) | Jis naudojamas norint pašalinti pirmą nurodyto elemento pasireiškimą sąraše (pereinant sąrašą nuo galvos iki uodegos). |
E PašalintiLast() | Jis pašalina ir grąžina paskutinį elementą iš sąrašo. |
loginis pašalinimasLastOccurrence (O objektas) | Jis pašalina paskutinį nurodyto elemento pasireiškimą sąraše (sulenkiant sąrašą nuo galvos iki galo). |
E rinkinys (indeksas, E elementas) | Jis pakeičia elementą nurodytoje sąrašo vietoje nurodytu elementu. |
Objektas[] toArray() | Jis naudojamas norint grąžinti masyvą, kuriame yra visi sąrašo elementai tinkama seka (nuo pirmojo iki paskutinio). |
T[] į masyvą(T[] a) | Jis grąžina masyvą, kuriame yra visi elementai tinkama seka (nuo pirmojo iki paskutinio elemento); grąžinamo masyvo vykdymo laikas yra nurodyto masyvo tipas. |
int dydis () | Jis naudojamas sąrašo elementų skaičiui grąžinti. |
Java LinkedList pavyzdys
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 pavyzdys elementams pridėti
Čia matome įvairius būdus, kaip pridėti elementus.
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 pavyzdys elementams pašalinti
Čia matome įvairius būdus, kaip pašalinti elementą.
javascript base64 dekodavimas
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 pavyzdys elementų sąrašui pakeisti
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 pavyzdys: knyga
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); } } }
Išvestis:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6