Map是一種依照鍵(key)儲存元素的容器,鍵很像下標,在List中下標是整數,在Map中鍵可以使任意類型的物件。 Map中不能有重複的鍵,每個鍵都有一個對應的值(value) 。
一個鍵和它對應的值構成map集合中的一個元素,Map中的元素是兩個對象,一個對像作為鍵,一個對像作為值。鍵不可以重複,但是數值可以重複。
1)Map集合是雙列集合,一個元素包含兩個值,一個是key,一個是value。
2)Map集合中的元素,key和value可以相同也可以不同。
3)Map集合中的元素,key是不允許重複的,value是可以重複的。
4)Map集合中的元素,key和value是一一對應的。
HashMap集合底層是哈希表,查詢速度特別快。 JDK 1.8之前是陣列+單向鍊錶,JDK 1.8之後是陣列+單向鍊錶/紅黑樹(鍊錶的長度超過8)。 HashMap集合是一個無序的集合,儲存的元素和取出的元素的順序有可能不一致。
LinkedHashMap集合底層是哈希表+鍊錶,該集合是一個有序的集合,儲存元素和取出元素的順序一致的。
把指定的鍵與制定的值加到Map集合中,回傳值V,儲存鍵值對的時候,key不重複,回傳值V是null;key重複,則會用新的value取代Map中重複的value ,傳回被取代的value值。
把指定的鍵所對應的鍵值對元素在Map集合中刪除,傳回被刪除元素的值,回傳值V,key存在,V回傳被刪除的值;key不存在,V傳回null。
根據指定的鍵,在Map集合中取得對應的值,傳回值V,key存在,V傳回對應的值;key不存在,V傳回null。