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)是无序的