Java基礎十六

Java基礎

Map集合

Map集合:該集合存儲鍵值對。一對一對往裏存。而且要保證鍵的唯一性。
1,添加。
put(K key, V value)
putAll(Map<? extends K,? extends V> m)

2,刪除。
clear()
remove(Object key)

3,判斷。
containsValue(Object value)
containsKey(Object key)
isEmpty()

4,獲取。
get(Object key)
size()
values()

entrySet()
keySet()

Map
Hashtable:底層是哈希表數據結構,不可以存入null鍵null值。該集合是線程同步的。jdk1.0.效率低。

HashMap:底層是哈希表數據結構,允許使用 null 值和 null 鍵,該集合是不同步的。將hashtable替代,jdk1.2.效率高。

TreeMap:底層是二叉樹數據結構。線程不同步。可以用於給map集合中的鍵進行排序。

和Set很像。
其實Set底層就是使用了Map集合。

Map集合的兩種取出方式

1,Set keySet:
將map中所有的鍵存入到Set集合。因爲set具備迭代器。
所有可以迭代方式取出所有的鍵,再根據get方法。獲取每一個鍵對應的值。

Map集合的取出原理:將map集合轉成set集合。在通過迭代器取出。

2,Set<Map.Entry<k,v>> entrySet:
將map集合中的映射關係存入到了set集合中,
而這個關係的數據類型就是:Map.Entry

Entry其實就是Map中的一個static內部接口。
爲什麼要定義在內部呢?
因爲只有有了Map集合,有了鍵值對,纔會有鍵值的映射關係。
關係屬於Map集合中的一個內部事物。
而且該事物在直接訪問Map集合中的元素。

Map與Collection

Map與Collection在集合框架中屬並列存在

Map存儲的是鍵值對

Map存儲元素使用put方法,Collection使用 add方法

Map集合沒有直接取出元素的方法,而是 先轉成 Set集合,在通過迭代獲取元素

Map集合中鍵要保證唯一性

Map集合常用類

Hashtable:線程安全,速度慢,不允許存放 null 鍵,null值,已被HashMap替代。

HashMap:線程不安全,速度快,允許存放null 鍵,null值。

TreeMap:對鍵進行排序,排序原理與TreeSet 相同。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章