Map是一種依照鍵(key)存儲元素的容器,鍵很像下標,在List中下標是整數(shù),在Map中鍵可以使任意類型的對象。Map中不能有重復的鍵,每個鍵都有一個對應的值(value)。
一個鍵和它對應的值構成map集合中的一個元素,Map中的元素是兩個對象,一個對象作為鍵,一個對象作為值。鍵不可以重復,但是值可以重復。
1.Map集合特點
1)Map集合是一個雙列集合,一個元素包含兩個值,一個是key,一個是value。
2)Map集合中的元素,key和value可以相同也可以不同。
3)Map集合中的元素,key是不允許重復的,value是可以重復的。
4)Map集合中的元素,key和value是一一對應的。
2.Map集合常用子類
1)HashMap集合
HashMap集合底層是哈希表,查詢速度特別快。JDK 1.8之前是數(shù)組+單向鏈表,JDK 1.8之后是數(shù)組+單向鏈表/紅黑樹(鏈表的長度超過8)。HashMap集合是一個無序的集合,存儲的元素和取出的元素的順序有可能不一致。
2)LinkedHashMap集合
LinkedHashMap集合底層是哈希表+鏈表,該集合是一個有序的集合,存儲元素和取出元素的順序一致的。
3.Map接口中的常用方法
1)public V put(K key,V value)
把指定的鍵與制定的值添加到Map集合中,返回值V,存儲鍵值對的時候,key不重復,返回值V是null;key重復,則會使用新的value替代Map中重復的value,返回被替代的value值。
2)public V remove(Object key)
把指定的鍵所對應的鍵值對元素在Map集合中刪除,返回被刪除元素的值,返回值V,key存在,V返回被刪除的值;key不存在,V返回null。
3)public V get(Object key)
根據(jù)指定的鍵,在Map集合中獲取對應的值,返回值V,key存在,V返回對應的值;key不存在,V返回null。
C語言網提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:
一點編程也不會寫的:零基礎C語言學練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學奧賽或C++選手的 必學C++課程
藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程
手把手講解近五年真題的藍橋杯輔導課程