Java - L'interfaccia della lista
L'interfaccia List si estende Collection e dichiara il comportamento di una raccolta che memorizza una sequenza di elementi.
È possibile inserire o accedere agli elementi in base alla loro posizione nell'elenco, utilizzando un indice a base zero.
Un elenco può contenere elementi duplicati.
Oltre ai metodi definiti da Collection, List ne definisce alcuni propri, che sono riassunti nella tabella seguente.
Molti dei metodi di elenco generano un'eccezione UnsupportedOperationException se la raccolta non può essere modificata e viene generata un'eccezione ClassCastException quando un oggetto è incompatibile con un altro.
Sr.No. | Metodo e descrizione |
---|---|
1 | void add(int index, Object obj) Inserisce obj nell'elenco di invocazione in corrispondenza dell'indice passato nell'indice. Tutti gli elementi preesistenti in corrispondenza o oltre il punto di inserimento vengono spostati verso l'alto. Pertanto, nessun elemento viene sovrascritto. |
2 | boolean addAll(int index, Collection c) Inserisce tutti gli elementi di cnell'elenco di invocazione all'indice passato nell'indice. Tutti gli elementi preesistenti in corrispondenza o oltre il punto di inserimento vengono spostati verso l'alto. Pertanto, nessun elemento viene sovrascritto. Restituisce true se l'elenco di richiamo cambia e restituisce false in caso contrario. |
3 | Object get(int index) Restituisce l'oggetto archiviato nell'indice specificato all'interno della raccolta richiamante. |
4 | int indexOf(Object obj) Restituisce l'indice della prima istanza di obj nell'elenco di richiamo. Se obj non è un elemento della lista, viene restituito .1. |
5 | int lastIndexOf(Object obj) Restituisce l'indice dell'ultima istanza di obj nell'elenco di invocazione. Se obj non è un elemento della lista, viene restituito .1. |
6 | ListIterator listIterator( ) Restituisce un iteratore all'inizio dell'elenco di invocazione. |
7 | ListIterator listIterator(int index) Restituisce un iteratore all'elenco di richiamo che inizia dall'indice specificato. |
8 | Object remove(int index) Rimuove l'elemento in corrispondenza dell'indice di posizione dall'elenco di richiamo e restituisce l'elemento eliminato. L'elenco risultante viene compattato. Cioè, gli indici degli elementi successivi vengono decrementati di uno. |
9 | Object set(int index, Object obj) Assegna obj alla posizione specificata da index all'interno dell'elenco di richiamo. |
10 | List subList(int start, int end) Restituisce un elenco che include elementi dall'inizio alla fine.1 nell'elenco di richiamo. Gli elementi nell'elenco restituito sono referenziati anche dall'oggetto invocante. |
Esempio
L'interfaccia di cui sopra è stata implementata in varie classi come ArrayList o LinkedList, ecc. Di seguito è riportato un esempio per spiegare alcuni metodi da varie implementazioni di classi dei metodi di raccolta precedenti -
import java.util.*;
public class CollectionsDemo {
public static void main(String[] args) {
List a1 = new ArrayList();
a1.add("Zara");
a1.add("Mahnaz");
a1.add("Ayan");
System.out.println(" ArrayList Elements");
System.out.print("\t" + a1);
List l1 = new LinkedList();
l1.add("Zara");
l1.add("Mahnaz");
l1.add("Ayan");
System.out.println();
System.out.println(" LinkedList Elements");
System.out.print("\t" + l1);
}
}
Questo produrrà il seguente risultato:
Produzione
ArrayList Elements
[Zara, Mahnaz, Ayan]
LinkedList Elements
[Zara, Mahnaz, Ayan]