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

Java Base Tutorial

Contrôle de flux Java

Tableau Java

Java orienté objet (I)

Java orienté objet (II)

Java orienté objet (III)

Java Exception Handling

Liste Java (List)

Queue Java (Queue)

Ensemble Map Java

Ensemble Set Java

Entrée/sortie Java (I/O)

Reader Java/Writer

Autres sujets Java

Programme Java pour supprimer des éléments répétés d'une ArrayList

Java example大全

Dans cet exemple, nous allons apprendre à supprimer des éléments répétés d'une ArrayList en Java.

Pour comprendre cet exemple, vous devriez comprendre ce qui suitProgrammation JavaThème :

Exemple1:Utiliser Set pour supprimer les éléments répétés d'une 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) {
    //Créer un ArrayList à partir d'un tableau
    //Utiliser la méthode asList() de la classe Arrays
    ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3);
    System.out.println("ArrayList avec des éléments répétés: " + numbers);
    //Convertir ArrayList en Set
    Set<Integer> set = new LinkedHashSet<>();
    set.addAll(numbers);
    //Supprimer tous les éléments de l'ArrayList
    numbers.clear();
    //Ajouter des éléments de l'ensemble set à l'ArrayList
    numbers.addAll(set);
    System.out.println("ArrayList without duplicates: ") + numbers);
  }
}

Output result

ArrayList with duplicates: [1, 2, 3, 4, 1, 3]
ArrayList without duplicates: [1, 2, 3, 4]

In the above example, we created an arraylist named numbers. The arraylist contains duplicate elements.

Pour supprimer les éléments répétés de l'ArrayList, nous devons :

  • Ajouter tous les éléments de l'ArrayList à l'ensemble set

  • Utiliser la méthode clear() pour vider l'ArrayList

  • Ajouter tous les éléments de l'ensemble set à l'ArrayList

Ici, nous utilisons LinkedHashSet pour créer un ensemble. C'est parce qu'il supprime les éléments répétés tout en conservant l'ordre d'insertion. Pour plus d'informations, veuillez visiterJava LinkedHashSet.

Exemple2:Supprimer les éléments répétés de l'ArrayList en utilisant 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) {
    //Créer un ArrayList à partir d'un tableau
    //Utiliser la méthode asList() de la classe Array
    ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3);
    System.out.println("ArrayList avec des éléments répétés: " + numbers);
    //Créer un flux à partir de la liste d'arrays
    Stream<Integer> stream = numbers.stream();
    //Appeler la méthode distinct() de Stream
    //Delete duplicate elements
    stream = stream.distinct();
    //Convertir le flux en ArrayList
    numbers = (ArrayList<Integer>)stream.collect(Collectors.toList());
    System.out.println("ArrayList without duplicates: ") + numbers);
  }
}

Output result

ArrayList with duplicates: [1, 2, 3, 4, 1, 3]
ArrayList without duplicates: [1, 2, 3, 4]

In the above example, we created an arraylist named numbers. The arraylist contains duplicate elements.

Here, we useStreamThe class removes duplicate elements from the arraylist.

  • Numbers.stream() - Create a stream from arraylist

  • stream.distinct() - Delete duplicate elements

  • stream.collect(Collectors.toList()) - Return list from stream

Here, we use type conversion to convert the returned list to an arraylist.

Java example大全