map常見用法
1Map用法
型別介紹
Java 自帶了各種 Map 類。這些 Map 類可歸為三種類型:
1. 通用Map,用於在應用程式中管理對映,通常在 java.util 程式包中實現
HashMap、Hashtable、Properties、LinkedHashMap、IdentityHashMap、TreeMap、WeakHashMap、ConcurrentHashMap
2. 專用Map,通常我們不必親自建立此類Map,而是通過某些其他類對其進行訪問
java.util.jar.Attributes、javax.print.attribute.standard.PrinterStateReasons、java.security.Provider、java.awt.RenderingHints、javax.swing.UIDefaults
3. 一個用於幫助我們實現自己的Map類的抽象類
AbstractMap
型別區別
HashMap
最常用的Map,它根據鍵的HashCode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。HashMap最多隻允許一條記錄的鍵為Null(多條會覆蓋);允許多條記錄的值為 Null。非同步的。
TreeMap
能夠把它儲存的記錄根據鍵(key)排序,預設是按升序排序,也可以指定排序的比較器,當用Iterator 遍歷TreeMap時,得到的記錄是排過序的。TreeMap不允許key的值為null。非同步的。
Hashtable
與 HashMap類似,不同的是:key和value的值均不允許為null;它支援執行緒的同步,即任一時刻只有一個執行緒能寫Hashtable,因此也導致了Hashtale在寫入時會比較慢。
LinkedHashMap
儲存了記錄的插入順序,在用Iterator遍歷LinkedHashMap時,先得到的記錄肯定是先插入的.在遍歷的時候會比HashMap慢。key和value均允許為空,非同步的。
Map 初始化
Java | 複製1 |
Map<String, String> map = new HashMap<String, String>();
|
插入元素
Java | 複製1 |
map.put( "key1" , "value1" );
|
獲取元素
Java | 複製1 |
map.get( "key1" )
|
移除元素
Java | 複製1 |
map.remove( "key1" );
|
清空map
Java | 複製1 |
map.clear();
|
2四種常用Map插入與讀取效能比較
測試環境
jdk1.7.0_80
測試結果
插入10次平均(ms) | 讀取10次平均(ms) | |||||
1W | 10W | 100W | 1W | 10W | 100W | |
HashMap | 56 | 261 | 3030 | 2 | 21 | 220 |
LinkedHashMap | 25 | 229 | 3069 | 2 | 20 | 216 |
TreeMap | 29 | 295 | 4117 | 5 | 103 | 1446 |
Hashtable | 24 | 234 | 3275 | 2 | 22 | 259 |
測試程式碼
Java | 複製
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
相關推薦c++ STL map常見用法#include<iostream> #include<string> #include<map> using namespace std; int main(){ //定義 map<int, string> map1 python map 常見用法list 合併 1 2 3 4 5 6 7 8 >>>list1=[11,22,33] >>>map(None,list1) [11,22, map常見用法1Map用法 型別介紹 Java 自帶了各種 Map 類。這些 Map 類可歸為三種類型: 1. 通用Map,用於在應用程式中管理對映,通常在 java.util 程式包中實現 HashMap、Hashtable、Properties、Li map函式,java和C++的常見用法map函式是一個很常用到的對映函式,他在演算法分析的時候有著舉足輕重的作用,他可以結果超大空間的問題,比如說需要開一個很大的陣列來表示一組關係,比如說要記錄下一個學生的學號和姓名,總共有10^9之多的學生,如果使用一維陣列是承受不了的,這個時候只能使用map函式,來記錄這麼 Map.putAll()用法輸出結果 net pla rgs get system void util ace import Java.util.HashMap; public class Map_putAllTest {public static void main(String[] args){ sed常見用法用法 amp 常見用法 刪除空白行 正則表達式 使用 表達式 開始 文本 sed ‘s/pattern/replace_string/‘ file:替換文本中第一個匹配的字符串 此處定界符為/,也可以使用任意定界符,比如此處語句也可以寫成sed ‘s:pattern:r jQuery常見用法toggle 對象 mat 內邊距 發生 字符串 積累 生成 ack jQuery有好多版本本,無法同時引用兩個不同的版本,容易造成混亂,用哪一個,調用哪一個.\ jQuery引用到<head></head>中,頁面加載時就需要特效調用這些方法. 【Python筆記】文件常見用法off 習慣 size readline 追加 run 寫到 文件 內部 關於文件的函數w 寫方式a 追加模式打開(從EOF開始,必要時創建新文件)r+ 以讀寫模式打開w+ 以讀寫模式打開a+ 以讀寫模式打開rb 以二進制讀模式打開wb 以二進制寫模式打開 (參見 w )a ES6新增數據結構Map的用法轉換函數 out 使用數組 undefine true blog name efi foreach Javascript的Object本身就是鍵值對的數據結構,但實際上屬性和值構成的是”字符串-值“對,屬性只能是字符串,如果傳個對象字面量作為屬性名, map reduce 用法 str處理lower() capitalize()rod str -s tip col key mps capital 元素 -- 1 s=‘123456‘ 2 l={‘0‘:0,‘1‘:1,‘2‘:2,‘3‘:3,‘4‘:4,‘5‘:5,‘6‘:6,‘7‘:7,‘8‘:8,‘9‘:9}[s[0]] 3 print(l) C++之const_cast常見用法href ase lan val das weibo tls ipp ops ls71kr餃瓷幽透蓖茲http://shufang.docin.com/sina_6341788483gclx8t思煙遲謔爸捌http://jz.docin.com/zsoy17419hcqm蛻 Linux中find常見用法示例depth 需要 option 為什麽 語法 其他 文件訪問 this man Linux中find常見用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; fi (轉)輕松掌握shell編程中數組的常見用法及示例分享 shell編程 內容 就是 linu 迷糊 常見 /etc/ med 緣起:在老男孩進行linux培訓shell編程教學中,發現不少水平不錯的網友及同學對數組仍然很迷糊,下面就給大家分享下數組的用法小例子,希望能給大家一點幫助。其實SHELL的數組很簡單,好用。我們學 Supervisord常見用法和介紹進程 管理工具 share viso 使用介紹 開啟 com aso process Supervisord是用Python實現的一款非常實用的進程管理工具。supervisord會幫你把管理的應用程序轉成daemon程序,而且可以方便的通過命令開啟、關閉、重啟等操作,而且 List、Set、Map常見集合遍歷總結排序 out java tlab vhdl for var 定義 word Java中的集合有三大類,List、Set、Map,都處於java.util包中,List、Set和Map都是接口,不能被實例化,它們的各自的實現類可以被實例化。List的實現類主要有ArrayLi map 的用法spa line body table border 打印 height return nts 第一個接收函數名,第二個接收可叠代對象 ls = [1,2,3] rs = map(str, ls) #打印結果 [‘1‘, ‘2‘, ‘3‘] lt = [1, VIM常見用法總結變量 閱讀 meta vim gui 其中 red 字段排序 復制 歡迎和大家交流技術相關問題: 郵箱: [email protected] 博客園地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://gith float 常見用法與問題--摘抄介紹 清除浮動 遇到的問題 size utf 在線 span eas images float 屬性絕對是眾多切圖仔用的最多的 CSS 屬性之一,它的用法很簡單,常用值就 left、right、none 三個,但是它的特性你真的弄懂了嗎? 我會在這裏介紹我對 float 的 js數組中foEach和map的用法詳解 jq中的$.each和$.mapcnblogs arr 對象 cal for index source asc 原生js 數組中foEach和map的用法詳解 相同點: 1.都是循環遍歷數組(僅僅是數組)中的每一項。 2.forEach() 和 map() 裏面每一次執行匿名函數都支持3個參數:數組中的 opensuse軟件安裝之zypper常見用法pen .com 安裝 use open targe gpo arch www https://www.cnblogs.com/xiangzi888/archive/2012/03/10/2388597.htmlopensuse軟件安裝之zypper常見用法 |