logo

Classe Java LinkedList

Gerarchia di classi Java LinkedList

La classe Java LinkedList utilizza un elenco doppiamente collegato per memorizzare gli elementi. Fornisce una struttura dati a elenco collegato. Eredita la classe AbstractList e implementa le interfacce List e Deque.

I punti importanti su Java LinkedList sono:

  • La classe Java LinkedList può contenere elementi duplicati.
  • La classe Java LinkedList mantiene l'ordine di inserimento.
  • La classe Java LinkedList non è sincronizzata.
  • Nella classe Java LinkedList, la manipolazione è veloce perché non è necessario che si verifichi alcuno spostamento.
  • La classe Java LinkedList può essere utilizzata come elenco, stack o coda.

Gerarchia della classe LinkedList

Come mostrato nel diagramma sopra, la classe Java LinkedList estende la classe AbstractSequentialList e implementa le interfacce List e Deque.

iskcon modulo completo

Elenco doppiamente collegato

Nel caso di una lista doppiamente collegata, possiamo aggiungere o rimuovere elementi da entrambi i lati.

classe Java LinkedList che utilizza un elenco doppiamente collegato

Dichiarazione della classe LinkedList

Vediamo la dichiarazione per la classe java.util.LinkedList.

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

Costruttori di Java LinkedList

Costruttore Descrizione
Lista collegata() Viene utilizzato per costruire una lista vuota.
Lista collegata(Raccolta c) Viene utilizzato per costruire un elenco contenente gli elementi della raccolta specificata, nell'ordine in cui vengono restituiti dall'iteratore della raccolta.

Metodi di Java LinkedList

Metodo Descrizione
somma booleana(E e) Viene utilizzato per aggiungere l'elemento specificato alla fine di un elenco.
void add(int indice, elemento E) Viene utilizzato per inserire l'elemento specificato nell'indice della posizione specificata in una lista.
booleano addAll(Collezione c) Viene utilizzato per aggiungere tutti gli elementi nella raccolta specificata alla fine di questo elenco, nell'ordine in cui vengono restituiti dall'iteratore della raccolta specificata.
booleano addAll(Collezione c) Viene utilizzato per aggiungere tutti gli elementi nella raccolta specificata alla fine di questo elenco, nell'ordine in cui vengono restituiti dall'iteratore della raccolta specificata.
booleano addAll(int indice, Collezione c) Viene utilizzato per aggiungere tutti gli elementi nella raccolta specificata, a partire dalla posizione specificata dell'elenco.
void addFirst(E e) Si usa per inserire l'elemento dato all'inizio di una lista.
void addUltimo(E e) Viene utilizzato per aggiungere l'elemento specificato alla fine di una lista.
vuoto chiaro() Viene utilizzato per rimuovere tutti gli elementi da un elenco.
Clone oggetto() Viene utilizzato per restituire una copia superficiale di un ArrayList.
booleano contiene(Oggetto o) Viene utilizzato per restituire true se una lista contiene un elemento specificato.
Iteratore discendenteIterator() Viene utilizzato per restituire un iteratore sugli elementi in una deque in ordine sequenziale inverso.
Elemento E() Viene utilizzato per recuperare il primo elemento di una lista.
E get(indice int) Viene utilizzato per restituire l'elemento nella posizione specificata in un elenco.
E getFirst() Viene utilizzato per restituire il primo elemento di una lista.
E getUltimo() Viene utilizzato per restituire l'ultimo elemento di una lista.
int indiceOf(Oggetto o) Viene utilizzato per restituire l'indice in una lista della prima occorrenza dell'elemento specificato, oppure -1 se la lista non contiene alcun elemento.
int ultimoIndiceOf(Oggetto o) Viene utilizzato per restituire l'indice in una lista dell'ultima occorrenza dell'elemento specificato, oppure -1 se la lista non contiene alcun elemento.
ListIterator listIterator(int indice) Viene utilizzato per restituire un iteratore di elenco degli elementi nella sequenza corretta, a partire dalla posizione specificata nell'elenco.
offerta booleana(E e) Aggiunge l'elemento specificato come ultimo elemento di una lista.
offerta booleanaFirst(E e) Inserisce l'elemento specificato all'inizio di un elenco.
offerta booleanaUltimo(E e) Inserisce l'elemento specificato alla fine di una lista.
E sbirciatina() Recupera il primo elemento di una lista
E sbirciaPrima() Recupera il primo elemento di una lista o restituisce null se una lista è vuota.
E sbirciatinaUltimo() Recupera l'ultimo elemento di una lista o restituisce null se una lista è vuota.
E sondaggio() Recupera e rimuove il primo elemento di un elenco.
E pollFirst() Recupera e rimuove il primo elemento di una lista o restituisce null se una lista è vuota.
E sondaggioUltimo() Recupera e rimuove l'ultimo elemento di una lista o restituisce null se una lista è vuota.
E pop() Estrae un elemento dallo stack rappresentato da un elenco.
spinta vuota(E e) Inserisce un elemento nello stack rappresentato da una lista.
E rimuovi() Viene utilizzato per recuperare e rimuovere il primo elemento di una lista.
E rimuovi(indice int) Viene utilizzato per rimuovere l'elemento nella posizione specificata in un elenco.
rimozione booleana(Oggetto o) Viene utilizzato per rimuovere la prima occorrenza dell'elemento specificato in un elenco.
E rimuoviPrimo() Rimuove e restituisce il primo elemento da un elenco.
booleano rimuoviFirstOccurrence(Oggetto o) Viene utilizzato per rimuovere la prima occorrenza dell'elemento specificato in un elenco (quando si attraversa l'elenco dalla testa alla coda).
E rimuoviUltimo() Rimuove e restituisce l'ultimo elemento da un elenco.
booleano rimuoviUltimaOccurrence(Oggetto o) Rimuove l'ultima occorrenza dell'elemento specificato in un elenco (quando si attraversa l'elenco dalla testa alla coda).
E set(indice int, elemento E) Sostituisce l'elemento nella posizione specificata in un elenco con l'elemento specificato.
Oggetto[] aArray() Viene utilizzato per restituire un array contenente tutti gli elementi di una lista nella sequenza corretta (dal primo all'ultimo elemento).
T[] toArray(T[] a) Restituisce un array contenente tutti gli elementi nella sequenza corretta (dal primo all'ultimo elemento); il tipo di runtime dell'array restituito è quello dell'array specificato.
dimensione intera() Viene utilizzato per restituire il numero di elementi in una lista.

Esempio di lista collegata Java

 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 

Esempio Java LinkedList per aggiungere elementi

Qui vediamo diversi modi per aggiungere elementi.

 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] 

Esempio Java LinkedList per rimuovere elementi

Qui vediamo diversi modi per rimuovere un elemento.

conversione di una stringa in un numero intero
 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 Esempio per invertire un elenco di elementi

 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 

Esempio di lista collegata Java: libro

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

Produzione:

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