English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Nous allons apprendre dans ce tutoriel l'interface Set et ses méthodes en Java.
L'interface Set du cadre Java Collections fournit les fonctionnalités de collections mathématiques en Java. Elle hérite de l'interface Collection.
Contrairement à l'interface List, les ensembles Set ne peuvent pas contenir d'éléments répétés.
Comme Set est une interface, il est impossible de créer des objets à partir de celle-ci.
Pour utiliser les fonctionnalités de l'interface Set, nous pouvons utiliser les classes suivantes :
Ces classes sont définies et réalisées dans le cadre Collections et implémentent l'interface Set.
L'interface Set également étend ces sous-interfaces :
En Java, il est nécessaire d'importer le paquet java.util.Set pour utiliser Set.
//Réaliser Set avec HashSet Set<String> animals = new HashSet<>();
Ici, nous avons créé un Set appelé animals. Nous avons utilisé HashSet pour réaliser l'interface Set.
L'interface Set contient toutes les méthodes de l'interface Collection. Cela car Collection est l'interface parent de Set.
L'interface Set fournit également certains méthodes courantes de l'interface Collection :
add() - Ajouter l'élément spécifié à l'ensemble
addAll() - Ajouter tous les éléments de l'ensemble spécifié à l'ensemble
iterator() -Retourner un itérateur, qui peut être utilisé pour accéder en ordre aux éléments de l'ensemble
remove() - Supprimer l'élément spécifié de l'ensemble
removeAll() - Supprimer tous les éléments présents dans un autre ensemble spécifié
keepAll() -Garder tous les éléments encore présents dans un autre ensemble spécifié
clear() - Supprimer tous les éléments de l'ensemble
size() - Retourner la longueur de l'ensemble (le nombre d'éléments)
toArray() - Retourner un tableau contenant tous les éléments de l'ensemble
contains() - Retourne true si l'ensemble contient l'élément spécifié
containsAll() - Retourne true si l'ensemble contient tous les éléments de l'ensemble spécifié
hashCode() -Retourner la valeur de hachage (l'adresse des éléments du ensemble)
L'interface Set de Java nous permet d'exécuter des opérations mathématiques de base sur les ensembles, telles que l'union, l'intersection et le sous-ensemble.
Union - Pour obtenir l'union des ensembles x et y, nous pouvons utiliser x.addAll(y)
Intersection - Pour obtenir l'intersection des ensembles x et y, nous pouvons utiliser x.retainAll(y)
Sous-ensemble - Pour vérifier si x est un sous-ensemble de y, nous pouvons utiliser y.containsAll(x)
1.implémenter l'interface Set
import java.util.Set; import java.util.HashSet; class Main { public static void main(String[] args) { //Créer un ensemble en utilisant la classe HashSet Set<Integer> set1 = new HashSet<>(); //Ajouter des éléments à set1 set1.add(2); set1.add(3); System.out.println("Set1: " + set1); //Créer un autre ensemble en utilisant la classe HashSet Set<Integer> set2 = new HashSet<>(); //Ajouter un élément set2.add(1); set2.add(2); System.out.println("Set2: " + set2); //L'union de deux ensembles set2.addAll(set1); System.out.println("L'union est: " + set2); } }
Output result
Set1: [2, 3] Set2: [1, 2] L'union est: [1, 2, 3]
Pour en savoir plus sur HashSet, veuillez visiterJava HashSet.
2.implémenter la classe TreeSet
import java.util.Set; import java.util.TreeSet; import java.util.Iterator; class Main { public static void main(String[] args) { //Créer un ensemble en utilisant la classe TreeSet Set<Integer> numbers = new TreeSet<>(); // Ajouter des éléments à l'ensemble set numbers.add(2); numbers.add(3); numbers.add(1); System.out.println("TreeSet: " + numbers); //Accéder aux éléments en utilisant iterator() System.out.print("Access elements using iterator(): "); Iterator<Integer> iterate = numbers.iterator(); while(iterate.hasNext()) { System.out.print(iterate.next()); System.out.print(", "); } } }
Output result
TreeSet: [1, 2, 3] Access elements using iterator(): 1, 2, 3,
For more information on TreeSet, please visitJava TreeSet.
Now that we know what a Set is, in the next tutorial, we will see its implementation in classes such as EnumSet, HashSet, LinkedHashSet, and TreeSet.