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

Guida di base Java

Controllo dei flussi Java

Array Java

Orientamento ad oggetti Java (I)

Orientamento ad oggetti Java (II)

Orientamento ad oggetti Java (III)

Gestione delle eccezioni Java

Lista Java

Queue (Coda) Java

Set di Java Map

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Programma Java per eliminare gli elementi duplicati da ArrayList

Completa guida di esempio Java

In questo esempio, impareremo come eliminare gli elementi duplicati da ArrayList utilizzando Java.

Per comprendere questo esempio, dovresti conoscere quanto segueProgrammazione JavaArgomento:

Esempio 1: Eliminare gli elementi duplicati da ArrayList utilizzando Set

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
class Main {
  public static void main(String[] args) {
    //Creare un ArrayList da un array
    //Usare il metodo asList() della classe Array
    ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3));
    System.out.println("ArrayList con elementi duplicati: " + numbers);
    //Convertire l'ArrayList in una Set
    Set<Integer> set = new LinkedHashSet<>();
    set.addAll(numbers);
    //Eliminare tutti gli elementi dell'ArrayList
    numbers.clear();
    //Aggiungere gli elementi dalla raccolta set all'ArrayList
    numbers.addAll(set);
    System.out.println("ArrayList senza elementi duplicati: " + numbers);
  }
}

Risultato di output

ArrayList con elementi duplicati: [1, 2, 3, 4, 1, 3]
ArrayList senza elementi duplicati: [1, 2, 3, 4]

L'arraylist contiene elementi duplicati.

Per eliminare gli elementi duplicati dall'ArrayList, dobbiamo:

  • Aggiungere tutti gli elementi dell'ArrayList alla raccolta set

  • Usare il metodo clear() per svuotare l'ArrayList

  • Aggiungere tutti gli elementi della raccolta set all'ArrayList

In questo esempio, utilizziamo LinkedHashSet per creare la raccolta. Questo perché elimina gli elementi duplicati mantenendo l'ordine di inserimento. Per ulteriori informazioni, visitareJava LinkedHashSet.

Esempio 2: Eliminare gli elementi duplicati da ArrayList utilizzando Stream

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Main {
  public static void main(String[] args) {
    //Creare un ArrayList da un array
    //Usare il metodo asList() della classe Array
    ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3));
    System.out.println("ArrayList con elementi duplicati: " + numbers);
    //Creare uno stream da una ArrayList
    Stream<Integer> stream = numbers.stream();
    //Chiamare il metodo distinct() di Stream
    //Eliminare gli elementi duplicati
    stream = stream.distinct();
    //Convertire lo stream in ArrayList
    numbers = (ArrayList<Integer>)stream.collect(Collectors.toList());
    System.out.println("ArrayList senza elementi duplicati: " + numbers);
  }
}

Risultato di output

ArrayList con elementi duplicati: [1, 2, 3, 4, 1, 3]
ArrayList senza elementi duplicati: [1, 2, 3, 4]

L'arraylist contiene elementi duplicati.

In questo esempio, abbiamo creato un arraylist chiamato numbers.StreamLa classe rimuove elementi duplicati dall'arraylist.

  • Numbers.stream() - Crea un flusso da arraylist

  • stream.distinct() - Elimina elementi duplicati

  • stream.collect(Collectors.toList()) - Restituisci lista dal flusso

In questo esempio, utilizziamo la conversione di tipo per convertire la lista restituita in arraylist.

Completa guida di esempio Java