用EnumMaps映射枚举键
这是一种在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映射枚举键相关推荐
- 使用枚举映射_用EnumMaps映射枚举键
使用枚举映射 这是一种在JDK中存在很长时间的类型,当我们要定义以枚举类型作为键的映射时,这种类型会派上用场: EnumMap是一种特殊的Map . 我们将为给定的枚举创建一个映射: public e ...
- MapStruct系列(6)-映射集合、映射Stream流、映射枚举
文章目录 映射集合 1. List. Set集合 2. Map集合 3. 集合映射策略 4. 用于集合映射的实现类型 映射Stream流 映射枚举 1. 将枚举映射到枚举类型 2. 映射枚举到字符串或 ...
- jpa vue管理系统_在JPA 2.1中使用@Convert正确完成映射枚举
jpa vue管理系统 如果您曾经在JPA中使用过Java枚举,那么您肯定会意识到它们的局限性和陷阱. 使用enum作为@Entity的属性通常是一个很好的选择,但是2.1之前的JPA不能很好地处理它 ...
- 1.0jpa 2.0_在JPA 2.1中使用@Convert正确完成映射枚举
1.0jpa 2.0 如果您曾经在JPA中使用过Java枚举,那么您肯定会意识到它们的局限性和陷阱. 使用enum作为@Entity的属性通常是一个很好的选择,但是2.1之前的JPA不能很好地处理它们 ...
- 在JPA 2.1中使用@Convert正确完成映射枚举
如果您曾经在JPA中使用过Java枚举,那么您肯定会意识到它们的局限性和陷阱. 使用enum作为@Entity的属性通常是一个很好的选择,但是2.1之前的JPA不能很好地处理它们. 它给了您2 + 1 ...
- (转)Hibernate框架基础——映射主键属性
http://blog.csdn.net/yerenyuan_pku/article/details/52740744 本文我们学习映射文件中的主键属性,废话不多说,直接开干. 我们首先在cn.it ...
- 键盘组合键映射_如何在键盘上重新映射Office键
键盘组合键映射 The Office Key is a new key that you'll find on Microsoft keyboards. It lets you quickly lau ...
- Hibernate中使用未映射为主键的“id”字段进行查询的场景分析
今天遇到一个hibernate的问题,有一个实体的主键字段叫userId,数据库里的字段名称是user_id. 然后在某个查询语句里有这样一段代码: Criterion criterion = Res ...
- 【Hibernate】Hibernate实体关系映射——主键相同的一对一关系
主键相同的一对一关系 由于两个实体类是一对一的关系,因此可设置两个实体类使用相同的主键.反过来,具有相同主键的实体被视为一对一的关系.这样两个表就省掉了外键关联. 以客户地址管理为例学习主键相同的一对 ...
最新文章
- Elasticsearch 知识点目录
- VIT pytorch源码
- 拉格朗日对偶性和似然函数
- Python中比元组更好用的namedtuple
- Spring-- ApplicationContext
- (78)FPGA内部资源与FPGA开发流程-面试必问(二)(第16天)
- PL/SQL Developer14中文版,记住登录密码和常用快捷方式
- 想多赚钱就要多培养自己脖子以上的能力
- 利用高德地图获取经纬度-python
- 展开式求和(c语言)
- 计算机基础知识表格斜线,在WORD中,其中一个表格里画一斜线怎么画?
- NTKO 文件在线编辑并保存 目前平台板plus支持 word excel ppt
- 3D打印无人机等无人设备2——Ultimaker Cura 3.2.1设置中文
- 关于嵌入式编程中的uint8_t、uint16_t......
- java 抛出异常后,还会执行后面代码吗?
- JavaFlink系列之一:Maven程序搭建及Java入门案例多种写法
- 如何在S32K144中优雅地输出调试信息
- [分享]对内PMP项目管理培训-精华篇(五大过程组)
- 北漂生活第四弹-初入公司
- 疯狂复习半个月,BAT大厂面试总结
热门文章
- 12、play整合Akka
- 22、java中的注解
- Mybatis生成器插件扩展,定制方法生成,list参数生成
- PL/SQL之JOB用法 (定时跑数据)
- 阿里巴巴制定了这 16 条
- MySQL week()函数
- Jsoup解析HTML实例及文档方法详解
- java 中 image 和 byte[] 相互转换
- 为什么总是喜欢看我桌面呢?
- ssh根据姓名查询的时候报错java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!