基于哈希表实现,元素是key-value对,通过单链表解决冲突问题
非线程安全,多线程环境下使用concurrentHashMap
支持序列化、克隆
key和value都允许为null
扩容条件:当size大于threshold,threshold=容量*加载因子,默认加载因子0.75
默认容量16
基于哈希表实现,元素是key-value对,通过单链表解决冲突问题
线程安全
支持序列化、克隆
默认容量11
HashTable继承自Dictionary类,而HashMap继承自AbstractMap类,二者都实现了Map接口
HashMap有containsValue、containsKey方法,HashTable保留了contains方法,其中contains和containsValue功能相同
HashMap中key和value都允许为null,Hashtable中key和value都不允许出现null值
在Hashtable中如果有类似put(null,null)的操作,编译同样可以通过,因为key和value都是Object类型,但运行时会抛出NullPointerException异常
在HashMap中不能由get()方法来判断HashMap中是否存在某个键,应该用containsKey()方法来判断
HashTable默认容量11,old*2+1扩容,HashMap默认容量16,2倍扩容
Copyright ©2010-2022 比特日记 All Rights Reserved.