Java中如何使用EnumSet?
作者:WeekendLife
时间:2023-04-24
浏览:0
说明1、EnumSet可以存储一个枚举中的元素,它提供了一种通过集合来操作枚举类的方式。2、EnumSet中的所有元素都必须指定枚举类型的枚举值,这种枚举类型在创建EnumSet时是显性的或隐性的。实例/***EnumSet的设计充分考虑到了速度因素,因为它必须与非常高效的bit标志相竞争(其操作与HashSet相比,非常地快).*就其内部而言,它(可能)就是将一个long值作为比特向量,所以EnumSet非常快速高效。*使用EnumSet的优点是,它在说明一个二进制位是否存在时,具有更好的表达能力,并且
说明
1、EnumSet可以存储一个枚举中的元素,它提供了一种通过集合来操作枚举类的方式。
2、EnumSet中的所有元素都必须指定枚举类型的枚举值,这种枚举类型在创建EnumSet时是显性的或隐性的。
实例
/** * EnumSet 的设计充分考虑到了速度因素,因为它必须与非常高效的 bit 标志相竞争(其操作与 HashSet 相比,非常地快).
* 就其内部而言,它(可能)就是将一个 long 值作为比特向量,所以 EnumSet 非常快速高效。
* 使用 EnumSet 的优点是,它在说明一个二进制位是否存在时,具有更好的表达能力,并且无需担心性能。 */ private static void enumSet() { // 空构造器 EnumSetweekEnums = 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); }
作者最新文章
打印机暂停打印的解决方法及恢复正常打印步骤
2026-09-22 14:32
华强北手机全线涨价:涨幅400-1500元,存储成本推高售价
2026-09-08 19:22
PDF转XML操作步骤与在线工具使用指南
2026-09-03 10:06
如何把多个PPT转成PDF?批量转换PDF的方法有哪些?
2026-09-02 19:32
CorelDRAW 2021图片虚化与边缘处理教程
2026-09-02 15:44
上一篇:
mysql如何将秒数转换成时分秒
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































