Java LinkedList klase elementu glabāšanai izmanto divkārši saistītu sarakstu. Tas nodrošina saistīto sarakstu datu struktūru. Tas pārmanto AbstractList klasi un ievieš List un Deque saskarnes.
Svarīgi punkti par Java LinkedList ir:
- Java LinkedList klasē var būt dublēti elementi.
- Java LinkedList klase uztur ievietošanas secību.
- Java LinkedList klase nav sinhronizēta.
- Java LinkedList klasē manipulācijas ir ātras, jo nav jānotiek pārslēgšanai.
- Java LinkedList klasi var izmantot kā sarakstu, steku vai rindu.
LinkedList klases hierarhija
Kā parādīts iepriekš redzamajā diagrammā, Java LinkedList klase paplašina AbstractSequentialList klasi un ievieš List un Deque saskarnes.
java atjaunināšana
Divkārši saistīts saraksts
Divkārši saistīta saraksta gadījumā mēs varam pievienot vai noņemt elementus no abām pusēm.
LinkedList klases deklarācija
Apskatīsim klases java.util.LinkedList deklarāciju.
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable
Java LinkedList konstruktori
Konstruktors | Apraksts |
---|---|
Saistītais saraksts() | To izmanto, lai izveidotu tukšu sarakstu. |
Saistītais saraksts (kolekcija c) | To izmanto, lai izveidotu sarakstu, kurā ir norādītās kolekcijas elementi, un tos atgriež kolekcijas iterators. |
Java LinkedList metodes
Metode | Apraksts |
---|---|
Būla pievienošana(E e) | To izmanto, lai pievienotu norādīto elementu saraksta beigās. |
spēkā neesošs pievienojums (indekss, E elements) | To izmanto, lai sarakstā ievietotu norādīto elementu norādītajā pozīcijas indeksā. |
Būla vērtība addAll (kolekcija c) | To izmanto, lai šī saraksta beigās pievienotu visus norādītās kolekcijas elementus tādā secībā, kādā tos atgriež norādītās kolekcijas iterators. |
Būla vērtība addAll (kolekcija c) | To izmanto, lai šī saraksta beigās pievienotu visus norādītās kolekcijas elementus tādā secībā, kādā tos atgriež norādītās kolekcijas iterators. |
Būla addAll(int indekss, kolekcija c) | To izmanto, lai pievienotu visus norādītās kolekcijas elementus, sākot no norādītās saraksta pozīcijas. |
tukšums addFirst(E e) | To izmanto, lai ievietotu doto elementu saraksta sākumā. |
tukšs pievienotLast(E e) | To izmanto, lai pievienotu norādīto elementu saraksta beigās. |
tukšums skaidrs () | To izmanto, lai noņemtu visus elementus no saraksta. |
Objekta klons () | To izmanto, lai atgrieztu seklu ArrayList kopiju. |
Būla saturs(Objekts o) | To izmanto, lai atgrieztu patiesu, ja sarakstā ir norādīts elements. |
Iterator descendingIterator() | To izmanto, lai atgrieztu iteratoru pār elementiem deque apgrieztā secībā. |
E elements() | To izmanto, lai izgūtu pirmo saraksta elementu. |
E get(int index) | To izmanto, lai atgrieztu elementu norādītajā pozīcijā sarakstā. |
E getFirst () | To izmanto, lai atgrieztu pirmo elementu sarakstā. |
E getLast() | To izmanto, lai atgrieztu pēdējo elementu sarakstā. |
int indexOf(Object o) | To izmanto, lai atgrieztu indeksu sarakstā, kurā norādīts elements pirmo reizi, vai -1, ja sarakstā nav neviena elementa. |
int lastIndexOf(Object o) | To izmanto, lai atgrieztu indeksu sarakstā ar norādītā elementa pēdējo reizi, vai -1, ja sarakstā nav neviena elementa. |
ListIterator listIterator(int index) | To izmanto, lai atgrieztu elementu saraksta iteratoru pareizā secībā, sākot no norādītās pozīcijas sarakstā. |
Būla piedāvājums (E e) | Tas pievieno norādīto elementu kā pēdējo saraksta elementu. |
Būla piedāvājums pirmais(E e) | Tas ievieto norādīto elementu saraksta sākumā. |
Būla piedāvājumsPēdējais(E e) | Tas ievieto norādīto elementu saraksta beigās. |
E palūrēt () | Tas izgūst pirmo saraksta elementu |
E peekFirst() | Tas izgūst pirmo saraksta elementu vai atgriež nulli, ja saraksts ir tukšs. |
E peekLast() | Tas izgūst pēdējo saraksta elementu vai atgriež nulli, ja saraksts ir tukšs. |
E aptauja () | Tas izgūst un noņem pirmo saraksta elementu. |
E aptaujaFirst() | Tas izgūst un noņem saraksta pirmo elementu vai atgriež nulli, ja saraksts ir tukšs. |
E aptauja Pēdējā() | Tas izgūst un noņem saraksta pēdējo elementu vai atgriež nulli, ja saraksts ir tukšs. |
Un pop () | Tas uznirst elementu no kaudzes, ko attēlo saraksts. |
tukšs grūdiens (E e) | Tas nospiež elementu uz steku, ko attēlo saraksts. |
E noņemt () | To izmanto, lai izgūtu un noņemtu pirmo saraksta elementu. |
E noņemt(int indekss) | To izmanto, lai noņemtu elementu norādītajā sarakstā sarakstā. |
Būla noņemšana (Objekts o) | To izmanto, lai sarakstā noņemtu norādītā elementa pirmo reizi. |
E noņemtFirst() | Tas noņem un atgriež pirmo elementu no saraksta. |
Būla noņemšanaFirstCurrence(Object o) | To izmanto, lai sarakstā noņemtu norādītā elementa pirmo reizi (pārejot sarakstu no galvas līdz astei). |
E noņemtPēdējo() | Tas noņem un atgriež pēdējo elementu no saraksta. |
Būla noņemšanaLastOccurrence(Object o) | Tas noņem norādītā elementa pēdējo gadījumu sarakstā (pārejot sarakstu no galvas līdz astei). |
E kopa (indekss, E elements) | Tas aizstāj elementu norādītajā vietā sarakstā ar norādīto elementu. |
Object[] toArray() | To izmanto, lai atgrieztu masīvu, kurā ir visi saraksta elementi pareizā secībā (no pirmā līdz pēdējam elementam). |
T[] uz masīvu(T[] a) | Tas atgriež masīvu, kurā ir visi elementi pareizā secībā (no pirmā līdz pēdējam elementam); atgrieztā masīva izpildlaika veids ir norādītā masīva izpildlaika veids. |
int size () | To izmanto, lai atgrieztu elementu skaitu sarakstā. |
Java LinkedList piemērs
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 piemērs elementu pievienošanai
Šeit mēs redzam dažādus veidus, kā pievienot 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 piemērs elementu noņemšanai
Šeit mēs redzam dažādus veidus, kā noņemt elementu.
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 piemērs, lai mainītu elementu sarakstu
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 piemērs: grāmata
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); } } }
Izvade:
java iegūt pašreizējo datumu
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6