说明

1、EnumSet可以存储一个枚举中的元素,它提供了一种通过集合来操作枚举类的方式。

2、EnumSet中的所有元素都必须指定枚举类型的枚举值,这种枚举类型在创建EnumSet时是显性的或隐性的。

实例

   /**
     * EnumSet 的设计充分考虑到了速度因素,因为它必须与非常高效的 bit 标志相竞争(其操作与 HashSet 相比,非常地快).
     * 就其内部而言,它(可能)就是将一个 long 值作为比特向量,所以 EnumSet 非常快速高效。
     * 使用 EnumSet 的优点是,它在说明一个二进制位是否存在时,具有更好的表达能力,并且无需担心性能。      */     private static void enumSet() {         // 空构造器         EnumSet 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);     }
本文转载于:https://www.yisu.com/zixun/583677.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。