Convertir ArrayList en Set en Java
- Convertir ArrayList en HashSet en utilisant une approche naïve en Java
- Convertir ArrayList en HashSet à l’aide de constructeurs en Java
- Convertir ArrayList en HashSet à l’aide de l’API Java 8 Stream
-
Convertir ArrayList en HashSet à l’aide de la méthode
Set.copyOf()
en Java - Convertir ArrayList en HashSet à l’aide de la bibliothèque de collections Apache Commons en Java
ArrayList est une classe d’implémentation de l’interface List qui est utilisée pour stocker les données dans un ordre linéaire, tandis que l’ensemble est une interface qui a la classe HashSet pour stocker les données. La principale différence entre ces deux est que le HashSet n’autorise pas les éléments en double et stocke les éléments uniques.
Ce didacticiel présentera différentes approches pour convertir une ArrayList en un HashSet.
Convertir ArrayList en HashSet en utilisant une approche naïve en Java
C’est l’approche la plus basique pour convertir une liste en un ensemble.
Dans cette approche, nous déclarons d’abord un ensemble vide. Nous parcourons ensuite la liste et ajoutons ses éléments à l’ensemble un par un en utilisant la méthode HashSet.add()
. Lorsque la boucle se termine, la liste est convertie en un ensemble.
Regardez le code ci-dessous.
import java.util.*;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = new HashSet<String>();
// apply for loop
for (String ele : list) {
set.add(ele);
}
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Production :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Dans le code ci-dessus, nous avons créé une liste qui stocke certains noms. Nous initialisons également un ensemble vide nommé set.
Nous parcourons ensuite la liste et ajoutons ses éléments à définir un par un. Enfin, nous imprimons les éléments de l’ensemble. Remarquez comment les éléments en double dans la liste sont éliminés.
Convertir ArrayList en HashSet à l’aide de constructeurs en Java
Cette approche est la plus simple de toutes les approches. Dans cette approche, nous passons la liste qui doit être convertie au constructeur de la classe HashSet.
Cela élimine le besoin d’une boucle for
comme cela était requis dans l’approche précédente. Le constructeur renvoie un nouvel ensemble contenant tous les éléments uniques.
Regardez le code ci-dessous.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = new HashSet<String>(list);
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Production :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Dans le code ci-dessus, nous créons une liste qui stocke certains noms. Nous initialisons également un ensemble vide nommé set.
Nous passons la liste en argument au constructeur de HashMap. Enfin, nous imprimons les éléments de l’ensemble. Remarquez comment les éléments en double dans la liste sont éliminés.
Convertir ArrayList en HashSet à l’aide de l’API Java 8 Stream
Nous avons utilisé l’API Java 8 Stream pour convertir ArrayList en HashSet dans cette approche. Nous avons d’abord converti la liste en flux. Nous appliquons ensuite la fonction collect
au flux.
Pour convertir en ensemble, nous avons utilisé la fonction Collectors.toSet()
dans l’opération collect
pour obtenir un ensemble. Regardez le code ci-dessous.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set using stream
Set<String> set = list.stream().collect(Collectors.toSet());
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Production :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Nous avons converti une liste en flux en utilisant la fonction List.stream()
dans le code ci-dessus. Nous appliquons l’opération collect
au flux et passons la méthode Collectors.toSet()
en argument.
Cela se traduit par la conversion du flux en un ensemble. Nous stockons ensuite cet ensemble dans l’ensemble de variables.
Convertir ArrayList en HashSet à l’aide de la méthode Set.copyOf()
en Java
Java 10 fournit une méthode Set.copyof()
qui prend une Collection comme argument et renvoie un ensemble immuable contenant les éléments de la Collection donnée. Dans cette approche, nous utilisons la méthode Set.copyof()
pour convertir une ArrayList en un HashSet.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = Set.copyOf(list);
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Production :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Convertir ArrayList en HashSet à l’aide de la bibliothèque de collections Apache Commons en Java
Si vous travaillez avec la bibliothèque Apache Commons Collection, utilisez la méthode CollectionUtils.addAll()
qui prend deux arguments : l’objet de la collection cible et l’objet de la collection source.
Les valeurs de l’objet de collection source sont copiées dans l’objet de collection cible et créent un ensemble. Regardez le code ci-dessous.
Ce code utilise le code de dépendance de la bibliothèque commune Apache. Tout d’abord, ajoutez cette dépendance à votre projet Java pour exécuter ce code avec succès.
<!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
import java.util.*;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> sourcelist =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> targetset = new HashSet<String>();
// Adding elements
CollectionUtils.addAll(targetset, sourcelist);
// display the set
for (String ele : targetset) {
System.out.println(ele);
}
}
}
Production :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Article connexe - Java ArrayList
- Comment trier les objets dans ArrayList par date en Java
- Comparer les ArrayLists en Java
- Convertir ArrayList en tableau Int en Java
- Conversion Set en ArrayList en Java
- La différence entre ArrayList et LinkedList en Java