English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo l'interfaccia List e i suoi metodi in Java.
In Java, l'interfaccia List è una raccolta ordinata che ci permette di memorizzare e accedere agli elementi in ordine. Essa estende l'interfaccia Collection.
Poiché List è un'interfaccia, non è possibile creare oggetti da essa.
Per utilizzare le funzionalità dell'interfaccia List, possiamo utilizzare le seguenti classi:
Queste classi sono definite ed implementate nell'infrastruttura Collections e l'interfaccia List.
In Java, è necessario importare il pacchetto java.util.List per utilizzare List.
// Implementazione ArrayList dell'interfaccia List List<String> list1 = new ArrayList<>(); // Implementazione LinkedList dell'interfaccia List List<String> list2 = new LinkedList<>();
Qui, abbiamo creato gli oggetti list1 e list2 delle classi ArrayList e LinkedList. Ora questi oggetti possono utilizzare le funzionalità dell'interfaccia List.
L'interfaccia List include tutti i metodi dell'interfaccia Collection. Questo perché Collection è l'interfaccia superiore di List.
L'interfaccia Collection fornisce anche alcuni metodi comuni dell'interfaccia List:
add() - Aggiungi un elemento alla lista
addAll() - Aggiungi tutti gli elementi di una lista a un'altra
get() - Aiuta ad accedere casualmente agli elementi della lista
iterator() - Restituisce un oggetto iteratore che può essere utilizzato per accedere in ordine agli elementi della lista
set() - Modifica l'elemento nella lista
remove() - Rimuove un elemento dalla lista
removeAll() - Rimuove tutti gli elementi dalla lista
clear() - Rimuove tutti gli elementi dalla lista (più efficiente di removeAll())
size() - Restituisce la lunghezza della lista
toArray() - Converti la lista in un array
contains() - Restituisce true se la lista contiene l'elemento specificato
1. Implementazione della classe ArrayList
import java.util.List; import java.util.ArrayList; class Main { public static void main(String[] args) { //Crea una lista utilizzando la classe ArrayList List<Integer> numbers = new ArrayList<>(); //Aggiungi un elemento alla lista numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Lista: " + numbers); //Accesso all'elemento dalla lista int number = numbers.get(2); System.out.println("Elemento di accesso: " + number); //Elimina un elemento dalla lista int removedNumber = numbers.remove(1); System.out.println("Eliminazione dell'elemento: " + removedNumber); } }
Risultato di output
List: [1, 2, 3] Accesso all'elemento: 3 Eliminazione dell'elemento: 2
Per ulteriori informazioni su ArrayList, visitaArrayList Java.
2. Implementazione della classe LinkedList
import java.util.List; import java.util.LinkedList; class Main { public static void main(String[] args) { //Crea una lista utilizzando la classe LinkedList List<Integer> numbers = new LinkedList<>(); //Aggiungi un elemento alla lista numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Lista: " + numbers); //Accesso all'elemento dalla lista int number = numbers.get(2); System.out.println("Elemento di accesso: " + number); //Utilizzo del metodo indexOf() int index = numbers.indexOf(2); System.out.println("L'elemento in posizione 3 è " + index); //Elimina un elemento dalla lista int removedNumber = numbers.remove(1); System.out.println("Eliminazione dell'elemento: " + removedNumber); } }
Risultato di output
List: [1, 2, 3] Accesso all'elemento: 3 L'elemento alla posizione 3 è 1 Eliminazione dell'elemento: 2
Per ulteriori informazioni su LinkedList, visitareJava LinkedList.
L'interfaccia List e l'interfaccia Set ereditano l'interfaccia Collection. Ma esistono alcune differenze tra loro.
La List può contenere elementi duplicati. Ma il Set non può avere elementi duplicati.
Gli elementi della List vengono memorizzati in un certo ordine. Ma gli elementi del Set vengono memorizzati in gruppi, come nei set matematici.
Ora che sappiamo cosa è List, nel prossimo tutorial esamineremo dettagliatamente l'implementazione delle classi ArrayList e LinkedList.