hashtable和hashmap区别:
外部:
1,同步,线程安全;不同步,线程不安全
2,继承不同,dictionary类,abstractmap类
内部:
1,初始化空间,扩容:hashtable 11,2n+1;hashmap 16,2n;
2,key,value:hashtable都不能为空,hashmap可以为空。
3,遍历方式:hashtable:自己的方法(Enumeration) hashmap:iterator
4,计算内部地址(idx)值不同:
hashtable,用key的hash加工后%对象的length
hashmap,用key的hash进行与运算(冲突较多)
(背诵一遍:外部:同步,父类,内部,初始化,扩容,key,valve,遍历,计算内部地址)
java后端面经--hashtable和hashmap的区别
最新推荐文章于 2024-12-01 00:03:35 发布
本文详细对比了hashtable和hashmap的区别,包括线程安全性、继承结构、初始化容量及扩容策略、键值对约束、遍历方式以及内部地址计算方法。hashtable是线程安全的,继承自dictionary类,而hashmap则不同步,继承自abstractmap类。在初始化时,hashtable初始容量为11,扩容为2n+1,hashmap则是16,扩容为2n。对于key和value,hashtable均不能为null,而hashmap允许。此外,hashtable使用自身的enumeration遍历,hashmap则采用iterator。在计算内部地址时,两者算法有所不同。
300

被折叠的 条评论
为什么被折叠?



