博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HashMap和Hashtable的差别
阅读量:5310 次
发布时间:2019-06-14

本文共 692 字,大约阅读时间需要 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://www.cnblogs.com/jerry1999/p/3677315.html

你可能感兴趣的文章
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
css背景样式
查看>>
JavaScript介绍
查看>>
开源网络漏洞扫描软件
查看>>
yum 命令跳过特定(指定)软件包升级方法
查看>>
创新课程管理系统数据库设计心得
查看>>
Hallo wolrd!
查看>>
16下学期进度条2
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
Chapter 3 Phenomenon——12
查看>>
和小哥哥一起刷洛谷(1)
查看>>
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>
SqlBulkCopy大批量导入数据
查看>>
pandas 修改指定列中所有内容
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>