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.