用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同级选择器_10-CSS3选择器详解

CSS3在CSS2基础上&#xff0c;增强或新增了许多特性&#xff0c; 弥补了CSS2的众多不足之处&#xff0c;使得Web开发变得更为高效和便捷。CSS3的现状浏览器支持程度不够好&#xff0c;有些需要添加私有前缀移动端支持优于PC端不断改进中应用相对广泛应对的策略&#xff1a;渐进…

机器人庄园作文_十年后的家乡作文精选8篇

十年后的家乡作文精选8篇十年后的家乡作文&#xff1a;十年后的家乡十年前我的家乡美丽富饶&#xff0c;家前的小溪清澈见底&#xff0c;小溪妹妹还&#xff1a;“哗啦啦”的唱起了欢乐的歌谣。树木葱葱茏茏&#xff0c;花朵都露出了美丽可爱的笑脸&#xff0c;蝴蝶、蜜蜂、小鸟…

java heroku_Heroku和Java –从新手到初学者,第2部分

java heroku问题 所以过了几天&#xff0c;我可以回到我的Recaps小项目。 我从检查日志开始&#xff0c;发现了以下内容&#xff1a; 2012-03-04T01:52:5100:00 heroku[web.1]: Idling 2012-03-04T01:52:5300:00 heroku[web.1]: Stopping process with SIGTERM 2012-03-04T01:…

存储限制_明年6月份开始,谷歌相册将终止免费无限存储服务

站长之家(ChinaZ.com)11月12日 消息:在提供免费服务5年后&#xff0c;谷歌对外宣布将终止提供无限容量免费照片存储服务&#xff0c;转而只提供的15GB免费存储空间&#xff0c;超过部分就需要向谷歌付费。这一变化将于2021年6月1日生效&#xff0c;这意味着如果用户上传的照片超…

下载 沙耶之歌Android_沙耶之歌安卓版apk-沙耶之歌下载手机版v1.2-飘荡下载

一款超经典的日式ADV游戏&#xff0c;游戏中有着精致的动漫风格画风&#xff0c;并且讲述了一个非常重口味但又异常纯洁的恋爱故事&#xff0c;玩家将会扮演男主进行游戏&#xff0c;超级丰富精彩的剧情等你来体验&#xff0c;并且还有着不同的剧情选项可以选择&#xff0c;能否…

Maven,Eclipse和Java 9

任何在eclipse中使用M2E&#xff08;maven-to-eclipse&#xff09;插件的人都知道您在哪里运行构建的问题&#xff0c;然后在项目上更新maven只是让它重置JRE并抛出一堆项目错误&#xff01; 我在使用Open Liberty与Java 9一起运行Java EE 8的帖子中注意到了这个问题 解决方案…

python变量持久化_Python 数据持久化:JSON

Python 数据持久化&#xff1a;JSON编程派微信号&#xff1a;codingpy淡蓝色字体可以直接点击查看上周更新的《Think Python 2e》第14章讲述了几种数据持久化的方式&#xff0c;包括dbm、pickle等&#xff0c;但是考虑到篇幅和读者等因素&#xff0c;并没有将各种方式都列全。本…

jwt配置 restful_SpringBoot实现JWT保护前后端分离RESTful API

本文将用不到100行Java代码, 教你如何在Spring Boot里面用JWT保护RESTful api.登录前登录之后即可得到正确结果登陆后1. 什么是JWT了解JWT的同学可以跳过这一部分废话少说, 我们先看看什么是JWT. JSON Web Token其实就是一个包含认证数据的JSON, 大概长这样子分三个部分,第一部…

fusion构建器代码语法_构建器模式:适用于代码,适用于测试

fusion构建器代码语法我发现构建器设计模式偶尔在代码中有用&#xff0c;但在测试中经常有用。 本文简要概述了该模式&#xff0c;然后介绍了在测试中使用该模式的一个有效示例。 请参阅github中的代码。 生成器模式的背景 根据GoF的书 &#xff0c;构建器设计模式用于“将复杂…

6000毫安以上智能手机_三星超长续航神机,6000毫安+128GB,上市半年不到跌至1499...

现在的手机是越来越智能了&#xff0c;无论是苹果还是安卓&#xff0c;基本都能为用户的生活添加几分乐趣&#xff0c;因为&#xff0c;当我们感到无聊时&#xff0c;基本都可以通过智能手机来打发时间。据我所知&#xff0c;不少人在用智能手机时都有个困扰&#xff0c;就是续…

使用RabbitMQ进行消息传递

RabbitMQ是一个强大的消息代理&#xff0c;可用于实现不同的消息传递模式。 即使有出色的教程 &#xff08;使用不同的语言和框架&#xff09;&#xff0c;也很难理解这些概念。 在这篇文章中&#xff0c;我想展示一些可以用RabbitMQ实现的不同范例&#xff0c;以及为什么要为某…

android 为什么fragment在调用hide方法后没有生效_Android 多 Fragment 切换优化

code小生,一个专注 Android 领域的技术平台公众号回复 Android 加入我的安卓技术群作者&#xff1a;DDDong丶链接&#xff1a;https://www.jianshu.com/p/c8e8a0249911声明&#xff1a;本文已获DDDong丶授权发表&#xff0c;转发等请联系原作者授权问题分析一直在简书里看别人的…

mysql如何查看远程用户_MySQL系列(十)--用户权限及远程访问

本文基于MySQL8.0&#xff0c;记录一下完整的远程访问的过程&#xff0c;以及这个过程中可能遇到的问题&#xff0c;MySQL运行在阿里云服务器&#xff0c;操作系统&#xff1a;CentOS 7.6 64位顺便说下&#xff0c;买服务器还是要双十二这种拉新活动再买&#xff0c;用一个新的…

spring mvc拆分_Spring集成–强大的拆分器聚合器

spring mvc拆分健壮是什么意思&#xff1f; 在本文的上下文中&#xff0c;健壮性是指在不立即返回给调用者的情况下管理流中的异常条件的能力。 在某些处理方案中&#xff0c; n个 m个回答足以做出结论。 通常具有这些趋势的示例处理场景是&#xff1a; 财务&#xff0c;保…

mysql typeindex_explain mysql的type字段,索引的类型

4.type这列很重要,显示了连接使用了哪种类别,有无使用索引.从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL(1).system这是const联接类型的一个特例。表仅有一行满足条件.如下(t3表上的id是 primary key)mysql> explain select * from (select * from t3 …

JasperReports:棘手的部分

如果您使用Java进行编程的时间足够长&#xff0c;则有可能需要为业务用户生成报告。 就我而言&#xff0c;我已经看到几个项目使用JasperReports库来生成PDF和其他文件格式的报告。 最近&#xff0c;我荣幸地观察了Mike和他的团队使用上述报告库及其面临的挑战。 简而言之Jasp…

win mysql 2003错误_windows MySql 报1067错误 2003错误

1067错误原因是我把安装mysql的目录的名字改了。但是位于目录里面的my.ini配置文件没有修改&#xff0c;玛德我真傻逼。把my.ini的#Path to installation directory. All paths are usually resolved relative to this.basedir"D:/My_MySQL/"这下面一行的路径名改成目…

java heroku_Heroku和Java –从新手到初学者,第1部分

java heroku最近&#xff0c;我听说Heroku允许在Cedar堆栈中部署Java应用程序。 由于没有真正的软件构想&#xff0c;我决定尝试一下&#xff0c;仅配置SOMETHING以在Heroku上运行。 我对ReST有所了解&#xff08;我仍然想学习并练习&#xff09;&#xff0c;所以我决定我的第…

mysql 合服_风云私服合区的方法详解(mysql数据库合并)

只能合并帐号&#xff0c;MY的库不能合并。倒数据前请留好备份&#xff0c;防止发生以外&#xff0c;破坏你得数据&#xff0c;切忌.1)首先确认你的机器上必须装MySQL 以及 mysql-connector-odbc-5.1.1-win32.msimysql-connector-odbc-5.1.1-win32.msi 就是 MySQL ODBC 5.1,你可…

mysql自定义数据类型_MySQL中的数据类型

一.MySQL中的数值类型分类MySQL中数值类型主要有三类&#xff1a;数字类型&#xff0c;字符串类型&#xff0c;时间类型。1.数字类型1.1整数tinyint 1字节smallint 2字节mediumint 3字节int 4字节bigint …