map
map和collection儲存資料的形式不同
collection中的集合,元素時孤立存在的(理解為單身),想集合中儲存元素採用乙個個元素的方式儲存。
map中的集合,元素是成對存在的。每個元素由鍵和值兩部分組成,通過鍵可以找所對應的值。
collection中的集合稱為單列集合,map中的集合稱為雙列集合。
需要注意的是,map中的集合不能包含重複的鍵,值可以重複;每個鍵只能對應乙個值。
hashmap:儲存資料採用的雜湊表結構,元素的訪問順序不能保證一致。
由於要保證鍵的唯一,不重複,需要重寫鍵的hashcode()和equals()方法。
linkedhashmap:hashmap下有個子類linkedhashmap,儲存資料採用的雜湊表和煉表結構。
通過鍊錶結構可以保證元素的訪問順序一致。
由於要保證鍵的唯一,不重複,需要重寫鍵的hashcode()和equals()方法。
public class mapdemo
/*移除集合中的鍵值對,返回被移除之前的值
v remove(k)
*/public static void func3()}/*
通過鍵物件,獲取值物件
v get(k)
*/public static void func2()}/*
將鍵值對儲存到集合中
v put(k, v)
*/public static void func()
}map集合的遍歷
利用鍵獲取值
map介面中定義方法keyset
所有的鍵,儲存到set集合
public class mapdemo1()
//2for(string key : set)
//3for(string key : map.keyset())}}
map中的entry物件
/*map集合獲取方式
entryset方法,鍵值對對映關係(結婚證)獲取
實現步驟:
1、呼叫map集合方法entryset()將集合中的對映關係物件,儲存到set集合
set>
2、迭代set集合
3、獲取出的set結合的元素,是對映關係物件
4、通過對映關係物件方法getkey,getvalue獲取鍵值對
*/public class mapdemo2()
for(map.entryentry : map.entryset())
注意:iterable 介面下沒有map集合,所以map不能用增強for迴圈
hashmap
/*利用hashmap集合,儲存自定義的物件
自定義物件,作為鍵出現,作為值出現
*/public class hashmapdemo
/*hashmap儲存自定義的物件person,作為值出現
*/public static void func()}}
public class person
public person(string name, int age)
getter
setter
@override
public string tostring()
//當person作為map的鍵時,為了保證鍵的唯一性,必須重寫hashcode()和equals()方法。
}linkedhashmap
/*linkedhashmap繼承hashmap
保證迭代的順序
*/public class linkedhashmapdemo
}hashtable
/*map介面實現類 hashtable
底層資料結構雜湊表,特點和hashmap時一樣的
hashtable執行緒安全,執行速度慢
hashmap執行緒不安全,執行速度快
hashtable命運和vector一樣
hashmap 允許儲存null值,null鍵
hashtable 不允許儲存null值,null鍵
hashtable的子類,properties,依然活躍在開發舞台
*/
java中Map集合的功能概述
a 新增功能 v put k key,v value 新增元素。如果鍵是第一次儲存,就直接儲存元素,返回null 如果鍵不是第一次存在,就用值把以前的值替換掉,返回以前的值 b 刪除功能 void clear 移除所有的鍵值對元素 v remove object key 根據鍵刪除鍵值對元素,並把值...
Java集合 Map集合
map map 用於儲存具有對映關係的資料,因此 map 集合裡儲存著兩組值,一組值用於儲存 map 裡的 key,另外一組用於儲存 map 裡的 value map 中的 key 和 value 都可以是任何引用型別的資料 map 中的 key 不允許重複,即同乙個 map 物件的任何兩個 key...
Map集合的概述和基本用法
一 map集合的概述 a map集合的概述 map集合和collection集合有所不同 map 是成對出現的,有就是說他是乙個雙列集合,map集合裡面的元素是由鍵和值組成。由於是成對出現我們可以理解成為夫妻 注意 map集合中的鍵是不能重複的,但是值可以重複,乙個鍵只能對應乙個值 b map和co...