Dans ce tutoriel, nous allons découvrir l'interface Set en Java et ses méthodes.
L' Set
interface du Collections
framework Java fournit les fonctionnalités de l'ensemble mathématique en Java. Il étend l' Collection
interface.
Contrairement à l' List
interface, les ensembles ne peuvent pas contenir d'éléments en double.
Classes qui implémentent Set
Puisqu'il Set
s'agit d'une interface, nous ne pouvons pas créer d'objets à partir de celle-ci.
Afin d'utiliser les fonctionnalités de l' Set
interface, nous pouvons utiliser ces classes:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Ces classes sont définies dans le Collections
framework et implémentent l' Set
interface.
Interfaces qui étendent Set
L' Set
interface est également étendue par ces sous-interfaces:
- SortedSet
- NavigableSet
Comment utiliser Set?
En Java, nous devons importer le java.util.Set
package pour pouvoir l'utiliser Set
.
// Set implementation using HashSet Set animals = new HashSet();
Ici, nous avons créé un Set
animal appelé. Nous avons utilisé la HashSet
classe pour implémenter l' Set
interface.
Méthodes d'ensemble
L' Set
interface comprend toutes les méthodes de l' Collection
interface. C'est parce que Collection
c'est une super interface de Set
.
Certaines des méthodes couramment utilisées de l' Collection
interface qui sont également disponibles dans l' Set
interface sont:
- add () - ajoute l'élément spécifié à l'ensemble
- addAll () - ajoute tous les éléments de la collection spécifiée à l'ensemble
- iterator () - retourne un itérateur qui peut être utilisé pour accéder séquentiellement aux éléments de l'ensemble
- remove () - supprime l'élément spécifié de l'ensemble
- removeAll () - supprime tous les éléments de l'ensemble qui sont présents dans un autre ensemble spécifié
- keepAll () - conserve tous les éléments de l'ensemble qui sont également présents dans un autre ensemble spécifié
- clear () - supprime tous les éléments de l'ensemble
- size () - renvoie la longueur (nombre d'éléments) de l'ensemble
- toArray () - retourne 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 la collection spécifiée - hashCode () - renvoie une valeur de code de hachage (adresse de l'élément dans l'ensemble)
Pour en savoir plus sur d'autres méthodes de l' Set
interface, visitez Java Set (documentation Java officielle).
Définir les opérations
L' Set
interface Java nous permet d'effectuer des opérations mathématiques de base telles que l'union, l'intersection et le sous-ensemble.
- Union - pour obtenir l'union de deux ensembles x et y, nous pouvons utiliser
x.addAll(y)
- Intersection - pour obtenir l'intersection de deux 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)
Implémentation de l'interface Set
1. Implémentation de la classe HashSet
import java.util.Set; import java.util.HashSet; class Main ( public static void main(String() args) ( // Creating a set using the HashSet class Set set1 = new HashSet(); // Add elements to the set1 set1.add(2); set1.add(3); System.out.println("Set1: " + set1); // Creating another set using the HashSet class Set set2 = new HashSet(); // Add elements set2.add(1); set2.add(2); System.out.println("Set2: " + set2); // Union of two sets set2.addAll(set1); System.out.println("Union is: " + set2); ) )
Production
Set1: (2, 3) Set2: (1, 2) Union est: (1, 2, 3)
Pour en savoir plus HashSet
, visitez Java HashSet.
2. Implémentation de la classe TreeSet
import java.util.Set; import java.util.TreeSet; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating a set using the TreeSet class Set numbers = new TreeSet(); // Add elements to the set numbers.add(2); numbers.add(3); numbers.add(1); System.out.println("Set using TreeSet: " + numbers); // Access Elements using iterator() System.out.print("Accessing elements using iterator(): "); Iterator iterate = numbers.iterator(); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) )
Production
Défini à l'aide de TreeSet: (1, 2, 3) Accès aux éléments à l'aide de l'itérateur (): 1, 2, 3,
Pour en savoir plus TreeSet
, visitez Java TreeSet.
Maintenant que nous savons ce qui Set
est, nous verrons ses mises en œuvre dans les classes comme EnumSet
, HashSet
, LinkedHashSet
et TreeSet
dans les prochains tutoriels.