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

Java Grund教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java Ausnahmebehandlung

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 程序删除ArrayList中重复的元素

Java Beispiele大全

在此示例中,我们将学习如何用Java删除ArrayList中的重复元素。

要理解此示例,您应该了解以下Java编程主题:

Beispiel1:使用Set从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) {
    //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.

Beispiel2:Verwenden Sie Stream, um wiederholte Elemente aus einer ArrayList zu entfernen

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.

Java Beispiele大全