HashMap,HashTable,HashSet介紹
1,HashMap
(1)public class HashMap extends AbstractMap implements Map{}
(2)key允許且只有一個可以為null,value 可以有多個null
(3)非線程安全,但是可以通過 Collection.synchronizedMap(Map p)返回線性安全的map
(4)用的迭代器為iterator
(5)執行效率比hashtable高一些
(6)是無序的,LinkedHashMap是有序的,按照存儲順序
(7)構造方法
* HashMap():構建一個初始容量為 16,負載因子為 0.75 的 HashMap。
* HashMap(int initialCapacity):構建一個初始容量為 initialCapacity,負載因子為 0.75 的 HashMap。
* HashMap(int initialCapacity, float loadFactor):以指定初始容量、指定的負載因子創建一個 HashMap。
2,HashTable
(1)public class HashTable extends Dictionary implements Map{}
(2)key 與 value都不允許為null
(3)是線性安全的
(4)用的迭代器是enumerator
(5)執行效率比hashMap低一些
(6)是無序的
3,HashSet
(1)public class HashSet extends AbstractSet implements Set{}
(2)對于 HashSet 而言,它是基于 HashMap 實現的,HashSet 底層采用 HashMap 來保存所有元素
(3)里面的值不允許重復
(4)線性非安全,可以用Collection.synchronizedSet(new HashSet());
(5)是無序的