Programma Java per rimuovere elementi duplicati da ArrayList

In questo esempio, impareremo a convertire l'elemento duplicato da ArrayList in Java.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:

  • Classe Java ArrayList
  • Java Set Interface

Esempio 1: rimuovere 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) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // convert the arraylist into a set Set set = new LinkedHashSet(); set.addAll(numbers); // delete al elements of arraylist numbers.clear(); // add element from set to arraylist numbers.addAll(set); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Produzione

 ArrayList con elementi duplicati: (1, 2, 3, 4, 1, 3) ArrayList senza elementi duplicati: (1, 2, 3, 4)

Nell'esempio precedente, abbiamo creato un elenco di elenchi con nomi denominati. L'arraylist contiene elementi duplicati.

Per rimuovere gli elementi duplicati dall'elenco degli array, abbiamo

  • aggiungi tutti gli elementi dall'arraylist al set
  • svuotare l'elenco di array utilizzando il clear()metodo
  • aggiungi tutti gli elementi dal set all'arraylist

Qui abbiamo usato LinkedHashSetper creare un set. È perché rimuove gli elementi duplicati e mantiene l'ordine di inserimento. Per saperne di più, visita Java LinkedHashSet.

Esempio 2: rimuovere 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) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // create a stream from arraylist Stream stream = numbers.stream(); // call the distinct() of Stream // to remove duplicate elements stream = stream.distinct(); // convert the stream to arraylist numbers = (ArrayList)stream.collect(Collectors.toList()); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Produzione

 ArrayList con elementi duplicati: (1, 2, 3, 4, 1, 3) ArrayList senza elementi duplicati: (1, 2, 3, 4)

Nell'esempio precedente, abbiamo creato un elenco di elenchi con nomi denominati. L'arraylist contiene elementi duplicati.

In questo caso, abbiamo utilizzato la classe Stream per rimuovere gli elementi duplicati dall'arraylist.

  • numbers.stream () - crea un flusso dall'arraylist
  • stream.distinct () - rimuove gli elementi duplicati
  • stream.collect (Collectors.toList ()) - restituisce un elenco dal flusso

Qui abbiamo utilizzato il typecasting per convertire l'elenco restituito in un array.

Articoli interessanti...