English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在此示例中,我们将学习如何用Java删除ArrayList中的重复元素。
要理解此示例,您应该了解以下Java编程主题:
import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; class Main { public static void main(String[] args) { //Eine ArrayList aus einem Array erstellen //Verwenden Sie die Methode asList() der Klasse Arrays ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3); System.out.println("ArrayList mit wiederholten Elementen: " + numbers); //Konvertieren Sie eine ArrayList in ein Set Set<Integer> set = new LinkedHashSet<>(); set.addAll(numbers); //Entfernen Sie alle Elemente aus der ArrayList numbers.clear(); //Fügen Sie Elemente vom Set in die ArrayList hinzu numbers.addAll(set); System.out.println("ArrayList ohne Duplikate: ") + numbers); } }
Ausgaberesultat
ArrayList mit Duplikaten: [1, 2, 3, 4, 1, 3] ArrayList ohne Duplikate: [1, 2, 3, 4]
Im obigen Beispiel haben wir eine Liste mit dem Namen numbers erstellt. ArrayList enthält duplizierte Elemente.
Um wiederholte Elemente aus einer ArrayList zu entfernen, benötigen wir:
Fügen Sie alle Elemente der ArrayList in das Set hinzu
Verwenden Sie die Methode clear() zum Leeren der ArrayList
Fügen Sie alle Elemente des Sets in die ArrayList hinzu
Hier verwenden wir LinkedHashSet, um eine Sammlung zu erstellen. Dies liegt daran, dass es wiederholte Elemente entfernt und die Reihenfolge der Eingabe beibehält. Für weitere Informationen besuchen Sie bitteJava LinkedHashSet.
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) { //Eine ArrayList aus einem Array erstellen //Verwenden Sie die Methode asList() der Klasse Arrays ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3); System.out.println("ArrayList mit wiederholten Elementen: " + numbers); //Einen Stream aus einer ArrayList erstellen Stream<Integer> stream = numbers.stream(); //Aufruf von Stream.distinct() //Duplizierte Elemente entfernen stream = stream.distinct(); //Den Stream in eine ArrayList umwandeln numbers = (ArrayList<Integer>)stream.collect(Collectors.toList()); System.out.println("ArrayList ohne Duplikate: ") + numbers); } }
Ausgaberesultat
ArrayList mit Duplikaten: [1, 2, 3, 4, 1, 3] ArrayList ohne Duplikate: [1, 2, 3, 4]
Im obigen Beispiel haben wir eine Liste mit dem Namen numbers erstellt. ArrayList enthält duplizierte Elemente.
Hier verwenden wirStreamDie Klasse entfernt duplizierte Elemente aus der ArrayList.
Numbers.stream() - Einen Stream aus einer ArrayList erstellen
stream.distinct() - Duplizierte Elemente entfernen
stream.collect(Collectors.toList()) - Liste aus Stream zurückgeben
Hier verwenden wir Typumwandlung, um die zurückgegebene Liste in eine ArrayList zu konvertieren.