Map集合:該集合存儲鍵值對纤勒,一對一對往里存,而且要保證健的唯一性捷沸。
1.添加 put ( K key , V value)
2.刪除 clear()? ? remove (Object key)
3.判斷 containsKey containsValue isEmpty()
4.獲取 get(key)? size()? values()
entrySet()? keySet()
Map:
—Hashtable:底層是哈希表數(shù)據(jù)結(jié)構(gòu),不可以存入null健null值,該集合是線程同步的? JDK1.0
-HashMap:? 底層是哈希表數(shù)據(jù)結(jié)構(gòu)唆香,允許使用null健null值,該集合是不同步的? ? JDK1.2效率高
-TreeMap:? 底層是二叉樹數(shù)據(jù)結(jié)構(gòu)吨艇,可以用于給map集合中的健進行排序? 該集合線程不同步
Map和Set很像躬它,Set底層就是使用了Map集合
HashMap添加元素,如果出現(xiàn)添加時东涡,相同的健冯吓,那么后添加的值會覆蓋原有健對應(yīng)的值。
并且put方法會返回被覆蓋的值
Map集合的兩種取出方式
1. keySet:? Set<> keySet():將map中所有的健存入到set集合疮跑,因為Set具備迭代器
所有可以迭代方式取出所有的健组贺,在根據(jù)get方法,獲取每一個健對應(yīng)得值
Map集合的取出原理:將Map集合轉(zhuǎn)成set集合祖娘,在通過迭代器取出
2. ? ? ? ? ? Set<> entrySet:將map集合中的映射關(guān)系存入到Set集合中
Map.entry 其實Enrey也是一個接口锣披,它是Map接口中的一個內(nèi)部接口