Map接口,没有继承与Collection,作为一个常见的容器,Map 根据key映射一个value,一个map中key是唯一的,每个key只能映射一个value。
常用的接口方法:
1、 V put(K key, V value);Associates the specified value with the specified key in this map
2、 V get(Object key);
3、 V remove(Object key);
4、 void clear();
5、 Set<Map.Entry<K, V>> entrySet();
6、 boolean containsKey(Object key);
7、 boolean containsValue(Object value);
Map有两个分支,HashMap,HashTable
二、HashTable是线程安全的Map实现
从上面代码看到,HashTable不允许Value为空,同时,需要获取key的hashCode,所以当key为空的时候会报空指针异常,所以HashTable只允许非null的元素插入,key-value都不允许为空。
通过initcapacity(初始化容量),loadFactor(加载因子)。通过加大加载银子能够节省空间,但相应的查找时间会增加
三、HashMap与hashtable类似,但是HashMap不是线程安全的。