English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Guida di base Java

Controllo di flusso Java

Array Java

Orientamento ad oggetti Java (I)

Orientamento ad oggetti Java (II)

Orientamento ad oggetti Java (III)

Gestione delle eccezioni Java

List Java

Queue Java (coda)

Map Java

Set Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Lista (List) Java

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.

Classi che implementano List

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.

Come utilizzare 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.

Metodi 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

Implementazione dell'interfaccia List

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.

Java List e Set

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.