博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java基础---HashMap和HashTable的异同之处
阅读量:4947 次
发布时间:2019-06-11

本文共 625 字,大约阅读时间需要 2 分钟。

1:连个都实现了Map的接口,两者的底层数据结构相同,都是transient修饰的entry数组,transient修饰的变量不会序列化即不会持久化,序列化的过程中不会包含这个变量,这个变量的生命周期仅仅是在用户的调用过程中,不能持久化到内存磁盘中。这样便于一些敏感信息的保存

2:HashMap是不安全的,不能同步,不支持多线程并发,HashTable是安全的,有同步锁,但效率低。

3:HashMap从AbstractMap继承而来,HashTable是从Dictionary继承而来

4:HashMap允许Null存在,表示key对应的value值不存在或者就是null。而HashTable不能有null

5:HashTable的hash是直接使用对象的hash,而HashMap要重新算起散列值,因而更加散列,有助于减少冲突。提高效率

6:HashTable可以用Itertor来实现遍历,HashMap也可以用这个,但在早起版本中HashTable还可以用Enumeration来遍历

7:HashTable缺省初始化数组的大小是11,可以指定数组的初始化大小,扩容采用的规则是old*2+1,

        HashMap缺省的数组大小是16,长度保持2的倍数,扩容时选择大于initCaptiy的最小的2的倍数的大小

 

8两者都支持FF失败机制

转载于:https://www.cnblogs.com/lucystudy/p/4663237.html

你可能感兴趣的文章
jQuery中的事件与动画
查看>>
页面加载骨架
查看>>
关于android系统不关屏设置
查看>>
SONY VPCS138EC降级安装XP
查看>>
[luogu4201][bzoj1063]设计路线【树形DP】
查看>>
手机抓包-手机劫持域名到指定服务器
查看>>
被放逐的皇后 金建云
查看>>
Javascript 有用参考函数
查看>>
点群的判别(三)
查看>>
gradle
查看>>
GNSS 使用DFT算法 能量损耗仿真
查看>>
常见的控制跳转的宏定义
查看>>
JavaSE| 面向对象的三大特征
查看>>
tensorflow Tensorboard可视化-【老鱼学tensorflow】
查看>>
eigen主页
查看>>
暑假周进度报告1
查看>>
兔子数
查看>>
网页抓取 总结
查看>>
移动端自适应适配布局
查看>>
【vue】vue中v-charts的使用
查看>>