EnumMap

什么是EnumMap

Map接口的实现,其key-value映射中的key是Enum类型;

补充说明

其原理就是一个对象数组,数组的下标索引就是根据Map中的key直接获取,即枚举中的ordinal值;

效率比HashMap高,可以直接获取数组下标索引并访问到元素;

简单示例

比较简单,源代码就不一一添加注释了,简单地说,就是一个对象数组;

这里稍微了解一下怎么使用就好了,下面列出一些方法的调用示例:

复制代码
package com.pichen.collection;import java.util.EnumMap;
import java.util.Map;
import java.util.Map.Entry;enum Operate{ADD, UPDATE, DELETE; 
}public class Main {public static void main(String[] args) {Map<Operate, String> map = new EnumMap<Operate, String>(Operate.class);//put方法map.put(Operate.ADD, "add operate");map.put(Operate.UPDATE, "update operate");map.put(Operate.DELETE, "delete operate");//重写了toString方法
        System.out.println(map);//size方法
        System.out.println(map.size());System.out.println(map.containsKey(Operate.UPDATE));System.out.println(map.containsValue("update operate"));System.out.println(map.get(Operate.DELETE));//remove
        map.remove(Operate.UPDATE);System.out.println(map);//key集合for(Operate operate:map.keySet()){System.out.print(operate + " ");}System.out.println();//value集合for(String obj:map.values()){System.out.print(obj + ",");}System.out.println();//key-value集合for(Entry<Operate, String> entry:map.entrySet()){System.out.print(entry.getKey() + ": " + entry.getValue() + ", ");}}
}
复制代码

输出结果:

复制代码
{ADD=add operate, UPDATE=update operate, DELETE=delete operate}
3
true
true
delete operate
{ADD=add operate, DELETE=delete operate}
ADD DELETE 
add operate,delete operate,
ADD: add operate, DELETE: delete operate, 
复制代码

 

本文转自风一样的码农博客园博客,原文链接:http://www.cnblogs.com/chenpi/p/5296330.html,如需转载请自行联系原作者

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

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

相关文章

【CSS动效实战(纯CSS与JS动效)】03 精美手风琴侧边栏完整示例教程 示例1

本节示例演示&#xff1a; 一、基本布局 一般来说&#xff0c;侧边栏的位置是在左侧&#xff0c;咱们为了更好的展现侧边栏的效果&#xff0c;并且在本节中不涉及过多的内容&#xff0c;我们只需要直接给一个 div 宽度为 15即可&#xff0c;接着再到这个 div 中编写对应的侧…

ArcGIS实验教程——实验三十二:ArcGIS水文分析(流向分析、计算水流长度、汇流分析、河网分析、流域分析)

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 一、流向分析1. 水流方向计算方法2. 原始DEM流向分析3. 洼地判定4. 洼地填充5. 无洼地DEM流向分析二、计算水流长度三、汇流分析四、河网分析五、流域分析水文分析是数字地形分析的一个重…

C语言试题六十七之请编写函数实现水仙花数

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 输出所有“…

Yii框架操作方法

1.yii数据查询a.使用CDbCriteria数据查询$attributes array();$criteria new CDbCriteria;//$criteria->selectamount; $criteria->conditionuser_id:user_id;$criteria->paramsarray(:user_id>18889195);$DwCouponModel new Coupon();$cla***esult $DwCoupon…

Windows 服务 同时启动多个服务

Windows 服务 同时启动多个服务独立观察员 2019.02.26最近需要开发 Windows Service 程序&#xff0c;之前没有接触过&#xff0c;所以把了解到的一些东西记录下来。Windows 服务程序可以简单理解为需要长时间在后台运行&#xff0c; 而又不需要界面显示的程序&#xff0c;在计…

Python3.6学习笔记(四)

错误、调试和测试 程序运行中&#xff0c;可能会遇到BUG、用户输入异常数据以及其它环境的异常&#xff0c;这些都需要程序猿进行处理。Python提供了一套内置的异常处理机制&#xff0c;供程序猿使用&#xff0c;同时PDB提供了调试代码的功能&#xff0c;除此之外&#xff0c;…

如何恢复master数据库

今天&#xff0c;重装Sql2000数据库后&#xff0c;在恢复master数据库时出现了错误&#xff0c;提示为“当试图还原master数据库时&#xff0c;必须以单用户模式使用restoredatabase,restore database操作异常终止”。在网上搜索了一下&#xff0c;发现了一篇介绍比较详细的&am…

一、基本remix环境及HelloWord contract《2022 solidity8.+ 版本教程到实战》

这个系列是 solidity8.版本的教程&#xff0c;既然学习了 solidity 就应该明白智能合约是啥&#xff0c;在此系列文章中将不赘述基础概念&#xff0c;只讲解对应的语法&#xff0c;希望读者理解。 环境 solidity 版本&#xff1a;8.(2022年9月8日 最新版本) IDE&#xff1a;h…

遥感空间尺度转换技术(升尺度和降尺度)

遥感图像的一个基本特征是空间分辨率。目前已经可以有效获取大量不同空间分辨率遥感数据。 尺度和尺度转换已经成为遥感的核心问题之一,人们已经从不同角度提出了这一问题。尺度转换分为两种: 升尺度:从高分辨率到低分辨率的转换;降尺度:从低分辨率到高分辨率的转换。文章…

linux command1

#列出指定用户&#xff08;当前用户&#xff09;的组信息 groups #将指定的用户添加(-a&#xff09;到指定的组内&#xff08;改组必须已经存在&#xff09;或指定用户从指定的组中删除&#xff08;-d&#xff09; gpasswd –a/-d username groupname #添加组 groupadd grou…

C语言试题六十八之请编写函数实现亲密数

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:…

three.js插件实现立体动感视频播放效果

2019独角兽企业重金招聘Python工程师标准>>> three.js插件实现立体动感视频播放效果 效果描述&#xff1a; 立体式视频播放效果 大家使用的时候可得注意了&#xff0c;它并不支持低版本浏览器 使用方法&#xff1a; 1、将body中的代码部分拷贝到你需要的地方,将视频…

Python3.6学习笔记(五)

网络编程 网络程序出现的比互联网要早很多&#xff0c;实现方式主要依靠网络上不同主机间进程的通信&#xff0c;通信协议最重要的是TCP/IP协议。在这两个协议基础上还有很多更高级的协议&#xff0c;包括HTTP、SMTP等。要进行两个主机间的网络通信&#xff0c;必须四个元素&a…

ArcGIS实验教程——实验三十三:ArcScan自动矢量化完整案例教程

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 文章目录 1 ArcScan 简介2. ArcScan使用前提及注意事项3. ArcGIS自动矢量化案例1 ArcScan 简介 ArcScan是ArcGIS Desktop的打展模块,是栅格数据矢量化的套工具集, 用这些工具,可以创建要素,将…

抢先体验全新标签页!Windows 11 必备小工具下载

面向 Dev 频道的 Windows 预览体验成员&#xff0c;微软近日推送了 Windows 11 新预览版&#xff0c;为文件资源管理器带来了全新标签页功能。Windows 11 文件资源管理器全新标签页介绍在 Windows 11 预览版中&#xff0c;新功能分别向 A 和 B 两组用户的电脑推送测试。A 用户的…

thymeleaf模板的使用(转)

作者&#xff1a;纯洁的微笑 出处&#xff1a;http://www.ityouknow.com/ 在上篇文章springboot(二)&#xff1a;web综合开发中简单介绍了一下thymeleaf&#xff0c;这篇文章将更加全面详细的介绍thymeleaf的使用。thymeleaf 是新一代的模板引擎&#xff0c;在spring4.0中推荐使…

二、基本类型及函数使用《2022 solidity8.+ 版本教程到实战》

一、基本变量类型 solidity 中的基本变量类型与一般编程中类似&#xff1a; // SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.0; contract Hello{string public say"Hello 1_bit";int public ival-1;uint public uval1;address public aval0xd9145CCE52…

Ruby 学习笔记3

在Ruby中有很多方法是以?和!号结尾的 “&#xff1f;”被用于标示谓词&#xff0c;即返回Boolean直的方法&#xff0c;如Array.empty?(判断数组中元素是否为空) “&#xff01;”出现在方法名尾部的感叹号表明使用该方法是需要多加小心。许多Ruby的核心类都定义了 成对的方…

C语言试题六十九之请编写函数判断一个数是不是素数

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数:…

Python3.6学习笔记(六)

WSGI Python Web Server Gateway Interface 规范学习 由于Python的灵活性&#xff0c;提供了多种方式可以作为服务端语言&#xff0c;包括Python编写的服务器&#xff08;Medusa&#xff09;、Python处理模块&#xff08;mod_python)&#xff0c;或者使用CGI、FastCGI方式触发…