这是一种在JDK中存在很长时间的类型,当我们要定义以枚举类型作为键的映射时会派上用场: EnumMap是一种特殊的Map

我们将为给定的枚举创建一个映射:

public enum CoffeeType {ESPRESSO, POUR_OVER, FRENCH_PRESS
}

EnumMap在创建时需要注意枚举类:

Map<CoffeeType, String> favoriteCoffeeOrigins = new EnumMap<>(CoffeeType.class);favoriteCoffeeOrigins.put(CoffeeType.ESPRESSO, "Ethiopia");
favoriteCoffeeOrigins.put(CoffeeType.POUR_OVER, "Colombia");
favoriteCoffeeOrigins.put(CoffeeType.FRENCH_PRESS, "Indonesia");assertThat(favoriteCoffeeOrigins.get(CoffeeType.ESPRESSO)).isEqualTo("Ethiopia");

HashMap实现相比, EnumMap效率更高。 此Java实现的所有基本映射操作都在固定时间内执行。

这篇帖子从我的时事通讯017中转贴了。

翻译自: https://www.javacodegeeks.com/2018/01/mapping-enum-keys-enummaps.html

用EnumMaps映射枚举键相关推荐

  1. 使用枚举映射_用EnumMaps映射枚举键

    使用枚举映射 这是一种在JDK中存在很长时间的类型,当我们要定义以枚举类型作为键的映射时,这种类型会派上用场: EnumMap是一种特殊的Map . 我们将为给定的枚举创建一个映射: public e ...

  2. MapStruct系列(6)-映射集合、映射Stream流、映射枚举

    文章目录 映射集合 1. List. Set集合 2. Map集合 3. 集合映射策略 4. 用于集合映射的实现类型 映射Stream流 映射枚举 1. 将枚举映射到枚举类型 2. 映射枚举到字符串或 ...

  3. jpa vue管理系统_在JPA 2.1中使用@Convert正确完成映射枚举

    jpa vue管理系统 如果您曾经在JPA中使用过Java枚举,那么您肯定会意识到它们的局限性和陷阱. 使用enum作为@Entity的属性通常是一个很好的选择,但是2.1之前的JPA不能很好地处理它 ...

  4. 1.0jpa 2.0_在JPA 2.1中使用@Convert正确完成映射枚举

    1.0jpa 2.0 如果您曾经在JPA中使用过Java枚举,那么您肯定会意识到它们的局限性和陷阱. 使用enum作为@Entity的属性通常是一个很好的选择,但是2.1之前的JPA不能很好地处理它们 ...

  5. 在JPA 2.1中使用@Convert正确完成映射枚举

    如果您曾经在JPA中使用过Java枚举,那么您肯定会意识到它们的局限性和陷阱. 使用enum作为@Entity的属性通常是一个很好的选择,但是2.1之前的JPA不能很好地处理它们. 它给了您2 + 1 ...

  6. (转)Hibernate框架基础——映射主键属性

    http://blog.csdn.net/yerenyuan_pku/article/details/52740744 本文我们学习映射文件中的主键属性,废话不多说,直接开干.  我们首先在cn.it ...

  7. 键盘组合键映射_如何在键盘上重新映射Office键

    键盘组合键映射 The Office Key is a new key that you'll find on Microsoft keyboards. It lets you quickly lau ...

  8. Hibernate中使用未映射为主键的“id”字段进行查询的场景分析

    今天遇到一个hibernate的问题,有一个实体的主键字段叫userId,数据库里的字段名称是user_id. 然后在某个查询语句里有这样一段代码: Criterion criterion = Res ...

  9. 【Hibernate】Hibernate实体关系映射——主键相同的一对一关系

    主键相同的一对一关系 由于两个实体类是一对一的关系,因此可设置两个实体类使用相同的主键.反过来,具有相同主键的实体被视为一对一的关系.这样两个表就省掉了外键关联. 以客户地址管理为例学习主键相同的一对 ...

最新文章

  1. Elasticsearch 知识点目录
  2. VIT pytorch源码
  3. 拉格朗日对偶性和似然函数
  4. Python中比元组更好用的namedtuple
  5. Spring-- ApplicationContext
  6. (78)FPGA内部资源与FPGA开发流程-面试必问(二)(第16天)
  7. PL/SQL Developer14中文版,记住登录密码和常用快捷方式
  8. 想多赚钱就要多培养自己脖子以上的能力
  9. 利用高德地图获取经纬度-python
  10. 展开式求和(c语言)
  11. 计算机基础知识表格斜线,在WORD中,其中一个表格里画一斜线怎么画?
  12. NTKO 文件在线编辑并保存 目前平台板plus支持 word excel ppt
  13. 3D打印无人机等无人设备2——Ultimaker Cura 3.2.1设置中文
  14. 关于嵌入式编程中的uint8_t、uint16_t......
  15. java 抛出异常后,还会执行后面代码吗?
  16. JavaFlink系列之一:Maven程序搭建及Java入门案例多种写法
  17. 如何在S32K144中优雅地输出调试信息
  18. [分享]对内PMP项目管理培训-精华篇(五大过程组)
  19. 北漂生活第四弹-初入公司
  20. 疯狂复习半个月,BAT大厂面试总结

热门文章

  1. 12、play整合Akka
  2. 22、java中的注解
  3. Mybatis生成器插件扩展,定制方法生成,list参数生成
  4. PL/SQL之JOB用法 (定时跑数据)
  5. 阿里巴巴制定了这 16 条
  6. MySQL week()函数
  7. Jsoup解析HTML实例及文档方法详解
  8. java 中 image 和 byte[] 相互转换
  9. 为什么总是喜欢看我桌面呢?
  10. ssh根据姓名查询的时候报错java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!