HashMap和Hashtable的差别
发布日期:2021-06-29 18:31:03
浏览次数:2
分类:技术文章
本文共 639 字,大约阅读时间需要 2 分钟。
1. HashMap 与 Hashtable继承自不同的类
1) HashMap 继承自AbstractMap,而AbstractMap实现了Map接口
2) Hashtable 继承自Dictionary
2. HashMap可以以null为key,而Hashtable不可以,这点差别源自于两者对于null有不同的处理方式,具体见下面代码:
1) HashMap (put方法:public V put(K key, V value))
if (key == null) return putForNullKey(value);
2) Hashable (put方法:public synchronized V put(K key, V value))
if (value == null) { throw new NullPointerException();}
3. HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey,因为contains方法容易让人引起误解,实际上此方法等同于containsvalue。
4. Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步(如使用:Collections.synchronizedMap)
转载地址:https://cxyxy.blog.csdn.net/article/details/24182769 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月13日 10时45分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ubuntu14.04升级的道与术
2019-04-30
ubuntu 16.04在CPU 模式下安装arrayfire
2019-04-30
wav2letter++ 环境安装记录
2019-04-30
语音特征提取学习笔记--对比kaldi、htk、w2l的语音提取过程。
2019-04-30
wav2letter++ 第一次training 日志
2019-04-30
从wav2letter中提取语音属性的代码
2019-04-30
用于分析tensorflow 网络图的工具对比介绍
2019-04-30
WINDOWS UBUNTU18.04lts 双系统安装
2019-04-30
tensorflow mini batch 训练中线程和队列数据输入的问题
2019-04-30
神经网络优化学习思考
2019-04-30
vue单页面组件
2019-04-30
vue反向代理使用
2019-04-30
vue路由配置解析
2019-04-30
es6常用语法
2019-04-30
js 常见错误(待补充)
2019-04-30
moment插件使用
2019-04-30
react
2019-04-30
2021-05-19
2019-04-30
2021-05-19
2019-04-30