學習日記 集合框架知識點總結(2) Map

2021-07-05 07:03:52 字數 2166 閱讀 9723

該集合的特點是儲存鍵值對。一對一對往裡存。而且要保證鍵的唯一性。

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所有的寫法。注...