該集合的特點是儲存鍵值對。一對一對往裡存。而且要保證鍵的唯一性。
1,新增put(k key, v value)返回該鍵對應的原來的值 新增元素時,如果該鍵相同。那麼後新增的值會覆蓋原有鍵對應值。並返回原來鍵對應的值。
putall(map < ? extends k,? extends v > m)從指定對映中將所有對映關係複製到此對映中
2,刪除clear()從此對映中移除所有對映關係
remove(object key)刪除對映關係只有乙個的鍵
3,判斷containsvalue(object value)是否包含該值,如果包含則返回true
containskey(object key)是否包含該鍵,如果包含則返回true
isempty()是否是空,如果是則返回true
4,獲取get(object key) 可用於判斷某鍵是否存在。
size()返回此對映中的鍵-值對映關係數
values()返回此對映中包含的值的collection檢視
1,set< k > keyset:將map中所有的鍵存入到set集合。因為set具備迭代器。所以可以用迭代方式取出所有的鍵,在根據map.get方法。獲取每乙個鍵對應的值。map集合的取出原理:將map集合轉成set集合。在通過迭代器取出。
hashmapmap= new hashmap();
setset = map.keyset();
iteratorit = set.iterator();
while(it.hasnext())
2,set < map.entry< k,v > > entryset:將map集合中的對映關係存入到了set集合中,而這個關係的資料型別就是:map.entry,entry其實就是map中的乙個static內部介面。他有getkey,getvalue,hashcode,equals,setvalue等方法。取出過程:先將關係存到set合集中,然後用set迭代器將關係取出,存到map.entry型別中,通過他自己的方法取出。
hashmap<
string, integer
>
map=
new hashmap<
string, integer
>();
set<
map.entry<
string, integer
>> sme =
map.entryset();
iterator<
map.entry<
string, integer
>> itme = sme.iterator();
while(itme.hasnext())
為什麼將entry定義在map內部呢?
因為只要有了map集合,有了鍵值對,才會有鍵值的對映關係。關係屬於map集合中的乙個內部事物。而且該事物在直接訪問map集合中的元素。
類資料結構
特點其他
hashtable
雜湊表不可以存入null鍵null值。該集合是執行緒同步的
效率低,用作鍵的物件必須實現hashcode和equals
hashmap
雜湊表允許使用 null 值和 null 鍵,該集合是不同步的
效率高,null可以當作鍵或值存在的
treemap
二叉樹執行緒不同步
可以用於給map集合中的鍵進行排序
當資料之間存在這對映關係時,就要先想map集合。判斷是否是同意元素編譯器預設使用equals方法,排序用的是compareto或者compare方法。所以可以根據需要自己覆蓋equals方法或者compareto或者compare方法。覆蓋compareto方法需要實現comparable介面,定義比較器則需要實現comparator介面,覆蓋map構造方法裡的compare。
當存在多個元素對映關係時,可以使用map巢狀。即:當a、b、c存在對映關係時,將b、c存入map1中,再將a、map1存入map2中。
當存在乙個元素對映多個元素時,如:a同時與b1,b2,b3對映時。可以將b1,b2,b3存入set/list集合中,再將a與set/list存入map中,建立起對映關係。
ThinkPHP學習日記(知識點總結)
a thinkphp curd操作時條件判斷where的不同寫法 a where中直接寫入判定條件 data user where status 1 and name thinkphp find b where中使用array寫入判定條件 post postview where array post...
集合知識點總結
1.常用集合介面 a collection介面 最基本的集合介面,儲存不唯一,無序的物件,list介面和set介面的父介面 set set new treeset new comparator list weights new arraylist list是父類,作為乙個介面,也是乙個集合,是乙個集...
框架知識點2
doctype html en utf 8 viewport content width device width,initial scale 1.0 document title jquery 1.10.1.min.js script 注 jq是js封裝的乙個 庫。注 jq中相容js所有的寫法。注...