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.pswp.cn/news/285920.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285920.shtml
英文地址,請注明出處:http://en.pswp.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方式觸發…