Explanation
1. EnumSet can store elements in an enumeration, and it provides a way to operate enumeration classes through sets.
2. All elements in the EnumSet must specify the enumeration value of the enumeration type. This enumeration type is explicit or implicit when creating the EnumSet.
Example
/** * 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); }
The above is the detailed content of How to use EnumSet in java. For more information, please follow other related articles on the PHP Chinese website!