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