EnumMap map = new EnumMap<>(Weekday.class); map.put(Weekday.MONDAY, "星期一"); map.put(Weekday.TUESDAY, "星期二"); map.put(Weekday.WEDNESDAY, "星期三"); map.put(Weekday.THURSDAY, "星期四"); map.put(Weekday.FRIDAY, "星期五");
不仅如此,Map里key集合和Set集合里元素的存储形式也很像,Map子类和Set子类在名字上也惊人的相似:如Set接口下有HashSet、LinkedHashSet、SortedSet(接口)、TreeSet、EnumSet等实现类和子接口,而Map接口下则有HashMap、LinkedHashMap、SortedMap(接口)、TreeMap、EnumMap等实现类和子接口。正如它们名字所暗示的,Map的...
在JDK 1.5 之前没有枚举类型,那时候一般用接口常量来替代。而使用 Java 枚举类型 enum 可以更贴近地表示这种常量。 1、声明枚举类型 声明枚举时必须使用 enum 关键字,然后定义枚举的名称、可访问性、基础类型和成员等。枚举声明的语法如下: enum-modifiersenumenumname:enum-base { enum-body, } 1...
EnumMap是一个与枚举一起使用的Map实现,EnumMap中的所有key都必须是单个枚举类的枚举值。 EnumMap在内部以数组形式保存,所以这种实现形式非常紧凑、高效。EnumMap根据key的自然排序( 即枚举值在枚举类中定义顺序)来维护key—value对的顺序。 下面程序示范了EnumMap的用法。 1importjava.util.EnumMap;23enumSeason {...
性能优势:EnumMap 的性能优于普通的 HashMap,因为它底层使用数组存储键值对。 可视化表示数据 为了更清晰地表达不同活动所占用的比例,我们可以使用饼状图来显示每周活动的比例。以下是一个用 Mermaid 语法制作的饼状图示例。 86%14%每周活动比例上班休息 ...
这段代码,是在enum没引入之前: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 publicclassDayDemo{publicstaticfinal intMONDAY=1;publicstaticfinal intTUESDAY=2;publicstaticfinal intWEDNESDAY=3;publicstaticfinal intTHURSDAY=4;publicstaticfinal intFRIDAY=5;publicstaticfinal intSATURDAY=6;publicstaticfinal...
在预订系统中,利用EnumMap统计房间类型和订单状态的数量,使用EnumSet表示可用的房间类型。提供bookRoom和updateOrderStatus方法,分别用于预订房间和更新订单状态。最后,列举一些注意事项。在枚举类型中,枚举值必须为常量,因此必须全部大写。枚举类具有与普通类相似的特性和方法,可扩展枚举的使用场景。EnumMap...
EnumMap是枚举的专属map,效率比通常的HashMap更高。EnumMap只能接收同一枚举类型的实例作为键值且不能为null,通过ordinal方法(声明枚举对象的顺序的索引)获取枚举key对应的数组下标。在使用上EnumMap和HashMap区别不大,只是key全部为枚举类型的实例,看下get方法:public V get(Object key) { // 保证key是枚...
我们可以看到EnumMap几乎和HashMap是一样的,区别在于EnumMap的key是一个Enum。 下面看一个简单的使用的例子: 先定义一个Enum: public enum Types { RED, GREEN, BLACK, YELLO } 再看下怎么使用EnumMap: @Test public void useEnumMap(){ EnumMap<Types, String> activityMap = new EnumMap<>(Types.class...