Maison  >  Article  >  Java  >  Enumset en Java

Enumset en Java

WBOY
WBOYoriginal
2024-08-30 15:15:44579parcourir

Enum set est l'implémentation d'une interface set, et il étend la classe Abstract en Java pour le type d'énumération. La collection are Set fournit la fonctionnalité permettant de travailler avec des énumérations en Java. Les ensembles d'énumérations ne sont pas synchronisés ; ils permettent donc un accès plus rapide aux éléments. Les ensembles d'énumérations ne permettent pas d'ajouter des éléments nuls ; si nous essayons d'ajouter une valeur nulle, cela lancera une exception de pointeur nul.

Syntaxe :

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

public abstract class EnumSet<E extends Enum<E>> || This is the class decralation of enum set.
EnumSet<E extends Enum<E>> enum1, enum2, enum3, enum4; || Declare different enum.

Comme les ensembles d'énumérations ne sont pas synchronisés, ils sont bien maîtres, mais nous pouvons les synchroniser en utilisant la méthode synchronisée de la classe collections () ci-dessous pour trouver la syntaxe de synchronisation.

Collections.synchronizedSet(java.util.Set<T>)
Set<Enum_Type> s = Collections.synchronizedSet(EnumSet.noneOf(EnumClass.class));

Méthodes d'Enumset en Java

  • statique > allOf(Class elementType): Cette méthode est utilisée pour créer l'énumération avec tous les éléments mentionnés.
  • EnumSet clone() : Cette méthode est utilisée pour créer la copie de l'ensemble. Le type de retour est EnumSet.
  • statique > complémentOf(EnumSet s): Cette méthode est utilisée pour créer l'ensemble d'énumérations spécifié dans la méthode, cette énumération contiendra tous les éléments qui ne sont pas contenus dans l'ensemble.
  • statique > copyOf(Collection c): Cela créera une copie de l'ensemble d'énumérations spécifié dans la méthode. Mais il faut le paramètre collection.
  • statique > copyOf(EnumSet s): Cela créera une énumération, spécifiée comme ensemble d'énumérations. Cela renverra un EnumSet.
  • statique > noneOf(Class elementType): Cela créera également une énumération spécifiée dans la méthode. Renvoie un EnumSet.
  • statique > of(E e): Créez également une énumération avec initialement des éléments. Le type de retour est EnumSet.
  • statique > of(E first, E… rest): Crée une énumération contenant des éléments et renvoie EnumSet
  • statique > of(E e1, E e2) : Cette méthode créera une énumération avec les éléments mentionnés. Le type de retour est EnumSet
  • statique > of(E e1, E e2, E e3): Cette méthode créera une énumération. Le type de retour de la méthode est EnumSet .
  • statique > of(E e1, E e2, E e3, E e4): Cette méthode créera également l'énumération avec les éléments spécifiés. Le type de retour est EnumSet
  • statique > of(E e1, E e2, E e3, E e4, E e5) : Cette méthode crée également l'énumération avec des éléments spécifiés passés en énumération. Le type de retour est EnumSet
  • statique > range(E from, E to): Dans cette méthode, nous pouvons spécifier la plage. Ensuite, il créera une nouvelle énumération. Le type de retour est EnumSet .

Remarque :

  • Enum set implémente diverses classes et interfaces. Déclaration de classe d'ensemble d'énumération :
  • classe abstraite publique EnumSet> étend AbstractSet implémente Cloneable, Serialisable

Interfaces implémentées par enum set :

  • Clonable
  • Définir
  • Sérialisable
  • Collection
  • Itérable

Les classes qui s'étendent par ensemble d'énumérations sont les suivantes :

  • AbstractSet

Exemples d'Enumset en Java

Voici l'exemple d'enumset ci-dessous :

Exemple n°1

Dans l'exemple ci-dessous, nous ajoutons des éléments à l'ensemble d'énumérations.

Code :

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Sortie :

Enumset en Java

Exemple n°2

Dans cet exemple, nous créons enum2 en utilisant uniquement la valeur sf enum1. Ci-dessous, trouvez un exemple.

Code :

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
// adding value to another enum set using addAll method
EnumSet<EnumDemo> enum2 = EnumSet.allOf(EnumDemo.class);
System.out.println("Enum set 2 containing values are :: ");
System.out.println( enum2);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Sortie :

Enumset en Java

Exemple #3

Dans cet exemple, nous trouvons des compléments f enum1 à enum2.

Code :

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
// finind completents of enum1 to enum2
EnumSet<EnumDemo> enum2 = EnumSet.complementOf(enum1);
System.out.println("Enum set 2 containing values are :: ");
System.out.println( enum2);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Sortie :

Enumset en Java

Example #4

Specifying range to elements to be copied.

Code:

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
// here we are specifing the range to another enum using enum1
EnumSet<EnumDemo> enum2 = EnumSet.range(EnumDemo.PYTHON, EnumDemo.JAVASCRIPT);
System.out.println("Enum set 2 containing values are :: ");
System.out.println( enum2);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Output:

Enumset en Java

Example #5

Making copy from existing enum.

Code:

import java.util.EnumSet;
public class EnumsetDemo {
public static void main(String[] args) {
// creating reference
EnumSet<EnumDemo> enum1;
// here we are adding elements to the enum1 which we create above.
enum1 = EnumSet.of(EnumDemo.JAVA, EnumDemo.JAVASCRIPT,
EnumDemo.C, EnumDemo.PHP, EnumDemo.GO, EnumDemo.PYTHON, EnumDemo.TYPESCRIPT);
System.out.println("Enum set 1 containing values are :: ");
System.out.println( enum1);
// here we are copying elements of enum1 to enum2.
EnumSet<EnumDemo> enum2 = EnumSet.copyOf(enum1);
System.out.println("Enum set 2 containing values are :: ");
System.out.println( enum2);
}
}
enum EnumDemo
{
JAVA, PYTHON, PHP, C, GO, JAVASCRIPT, TYPESCRIPT
};

Output:

Enumset en Java

Conclusion

Java EnumSet is the implementation of the SET interface in java. They are a special type of java collection framework that provides support for enum types in java. We can also make them synchronized as these are not synchronized.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn