Java-Programm zum Entfernen doppelter Elemente aus ArrayList

In diesem Beispiel lernen wir, das doppelte Element aus der ArrayList in Java zu konvertieren.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java ArrayList-Klasse
  • Java Set-Schnittstelle

Beispiel 1: Entfernen Sie doppelte Elemente mit Set aus ArrayList

 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); ) )

Ausgabe

 ArrayList mit doppelten Elementen: (1, 2, 3, 4, 1, 3) ArrayList ohne doppelte Elemente: (1, 2, 3, 4)

Im obigen Beispiel haben wir eine Arrayliste mit dem Namen numbers erstellt. Die Arrayliste enthält doppelte Elemente.

Um doppelte Elemente aus der Arrayliste zu entfernen, haben wir

  • Fügen Sie alle Elemente aus der Arrayliste zum Set hinzu
  • Leeren Sie die Arrayliste mit der clear()Methode
  • füge alle Elemente vom Set zur Arrayliste hinzu

Hier haben wir das verwendet LinkedHashSet, um ein Set zu erstellen. Dies liegt daran, dass die doppelten Elemente entfernt werden und die Einfügereihenfolge beibehalten wird. Weitere Informationen finden Sie unter Java LinkedHashSet.

Beispiel 2: Entfernen Sie doppelte Elemente mit Stream aus ArrayList

 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); ) )

Ausgabe

 ArrayList mit doppelten Elementen: (1, 2, 3, 4, 1, 3) ArrayList ohne doppelte Elemente: (1, 2, 3, 4)

Im obigen Beispiel haben wir eine Arrayliste mit dem Namen numbers erstellt. Die Arrayliste enthält doppelte Elemente.

Hier haben wir die Stream-Klasse verwendet, um doppelte Elemente aus der Arrayliste zu entfernen.

  • numbers.stream () - Erstellt einen Stream aus der Arrayliste
  • stream.distinct () - Entfernt doppelte Elemente
  • stream.collect (Collectors.toList ()) - gibt eine Liste aus dem Stream zurück

Hier haben wir Typecasting verwendet, um die zurückgegebene Liste in eine Arrayliste zu konvertieren.

Interessante Beiträge...