Maison  >  Article  >  Java  >  Comment utiliser la fonction EnumSet en Java pour les opérations d'énumération

Comment utiliser la fonction EnumSet en Java pour les opérations d'énumération

PHPz
PHPzoriginal
2023-06-26 16:01:471189parcourir

EnumSet est une classe pratique en Java, utilisée pour implémenter des opérations de collection de types d'énumération. EnumSet peut être utilisé pour effectuer des opérations sur les bits, des opérations sur les ensembles et d'autres opérations sur toutes les valeurs d'un type d'énumération. Dans le processus de développement actuel, l'utilisation d'EnumSet peut facilement fonctionner sur plusieurs valeurs d'énumération, améliorant ainsi la lisibilité et la maintenabilité du code. Cet article explique comment utiliser la fonction EnumSet en Java pour effectuer des opérations d'énumération.

1. Qu'est-ce qu'EnumSet

EnumSet est une classe abstraite en Java. Elle implémente l'interface Set et ne peut être utilisée que pour les valeurs de type énumération. La classe EnumSet fournit des méthodes d'usine statiques qui peuvent générer des objets d'instance EnumSet de différentes manières, telles que :

EnumSet<Weekdays> allDays = EnumSet.allOf(Weekdays.class);

EnumSet<Weekdays> weekday = EnumSet.range(Weekdays.MONDAY, Weekdays.FRIDAY);

EnumSet<Weekdays> weekend = EnumSet.complementOf(weekday);

où Weekdays est un type d'énumération, qui contient les valeurs d'énumération de sept jours par semaine, via La méthode allOf() peut générer un objet d'instance EnumSet contenant toutes les valeurs d'énumération ; la méthode range() peut générer un objet d'instance EnumSet contenant une valeur d'énumération dans une certaine plage ; la méthode complémentOf() peut générer un objet d'instance EnumSet contenant toutes ; valeurs d'énumération à l'exception de celle spécifiée. Objet d'instance EnumSet pour toutes les valeurs d'énumération.

2. Utilisez EnumSet pour les opérations d'énumération

  1. Opérations de base

Les opérations de base prises en charge par la classe EnumSet incluent add(), remove(), contain(), size(), etc. Ces opérations sont cohérentes avec l'interface Set et ne seront pas présentées une par une ici.

EnumSet<Weekdays> days = EnumSet.of(Weekdays.MONDAY);
days.add(Weekdays.TUESDAY);
days.remove(Weekdays.MONDAY);

if (days.contains(Weekdays.WEDNESDAY)) {
    System.out.println("Today is Wednesday!");
}
System.out.println(days.size());
  1. Opérations sur les ensembles

Les opérations sur les ensembles prises en charge par la classe EnumSet incluent union(), intersection(), complément() et d'autres opérations . Ces opérations peuvent facilement effectuer des opérations sur les bits et définir des opérations sur deux ou plusieurs objets d'instance EnumSet.

EnumSet<Weekdays> weekday1 = EnumSet.range(Weekdays.MONDAY, Weekdays.WEDNESDAY);
EnumSet<Weekdays> weekday2 = EnumSet.range(Weekdays.TUESDAY, Weekdays.FRIDAY);
EnumSet<Weekdays> weekend = EnumSet.of(Weekdays.SATURDAY, Weekdays.SUNDAY);

EnumSet<Weekdays> weekdays = EnumSet.of(Weekdays.MONDAY, Weekdays.WEDNESDAY);
// 求并集
EnumSet<Weekdays> union = EnumSet.copyOf(weekdays);
union.addAll(weekday2);
// 求交集
EnumSet<Weekdays> intersection = EnumSet.copyOf(weekdays);
intersection.retainAll(weekday2);
// 求补集
EnumSet<Weekdays> complement = EnumSet.complementOf(weekday1);

// 判断集合包含关系
if (weekdays.containsAll(weekday1)) {
    System.out.println("Weekdays contains Monday to Wednesday!");
}
if (!weekdays.containsAll(weekend)) {
    System.out.println("Weekdays do not contain weekend!");
}

Le code ci-dessus montre comment utiliser EnumSet pour les opérations d'ensemble. Parmi eux, la méthode copyOf() peut générer un objet d'instance EnumSet contenant la valeur d'énumération spécifiée ; la méthode addAll() peut ajouter la valeur d'énumération spécifiée à l'objet d'instance EnumSet ; Objet d'instance EnumSet. Valeur d'énumération ; la méthode complémentOf() peut générer un objet d'instance EnumSet contenant toutes les valeurs d'énumération à l'exception de la valeur d'énumération spécifiée.

3. Conclusion

Cet article présente comment utiliser la fonction EnumSet en Java pour effectuer des opérations d'énumération, comprenant principalement les opérations de base et les opérations de collection d'EnumSet. En utilisant EnumSet, vous pouvez simplifier le fonctionnement des types d'énumération et améliorer la lisibilité et la maintenabilité du code. Pour les situations où plusieurs valeurs d'énumération doivent être utilisées, la flexibilité d'EnumSet rend le code plus concis et plus facile à maintenir.

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