JavaでEnumSetを使用する方法

PHPz
リリース: 2023-05-01 19:25:12
転載
878 人が閲覧しました

説明

1. EnumSet は要素を列挙型に格納でき、セットを通じて列挙型クラスを操作する方法を提供します。

2. EnumSet 内のすべての要素は、列挙型の列挙値を指定する必要があります。この列挙型は、EnumSet の作成時に明示的または暗黙的に指定されます。

   /**
     * EnumSet 的设计充分考虑到了速度因素,因为它必须与非常高效的 bit 标志相竞争(其操作与 HashSet 相比,非常地快).<br>
     * 就其内部而言,它(可能)就是将一个 long 值作为比特向量,所以 EnumSet 非常快速高效。<br>
     * 使用 EnumSet 的优点是,它在说明一个二进制位是否存在时,具有更好的表达能力,并且无需担心性能。
     */
    private static void enumSet() {
        // 空构造器
        EnumSet<WeekEnum> weekEnums = EnumSet.noneOf(WeekEnum.class);
        weekEnums.add(WeekEnum.MON);
        weekEnums.add(WeekEnum.TUE);
        weekEnums.add(WeekEnum.WEB);
        // of工厂,可以接收多个enum
        weekEnums.addAll(EnumSet.of(WeekEnum.THUR, WeekEnum.FRI, WeekEnum.SAT, WeekEnum.SUN));
        System.out.println(weekEnums);
        // range-范围
        weekEnums.removeAll(EnumSet.range(WeekEnum.MON, WeekEnum.WEB));
        System.out.println(weekEnums);
        // 创建一个与指定枚举集具有相同元素类型的枚举集,最初包含指定集中未包含的所有此类型的元素。
        weekEnums = EnumSet.complementOf(weekEnums);
        System.out.println(weekEnums);
    }
ログイン後にコピー

以上がJavaでEnumSetを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート