說明
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中文網其他相關文章!