Java面试题 : HashMap和Hashtable有什么区别?

作者: Arvin Chen 分类: Java面试题 来源: Break易站(www.breakyizhan.com)

这篇文章主要讲的是Java中HashMap和Hashtable有什么区别? 为了查找方便,小A汇总了所有Java面试题的相关汇总,方便大家查找到所有的Java面试题: Java面试题汇总。此外,还有Java的编程思想的教程。


HashMap和Hashtable有什么区别?

HashMap和Hashtable都实现了Map接口,因此很多特性非常相似。但是,他们有以下不同点:

HashMap允许键和值是null,而Hashtable不允许键或者值是null。

Hashtable是同步的,而HashMap不是。因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境。

HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失败的。另一方面,Hashtable提供了对键的列举(Enumeration)。

一般认为Hashtable是一个遗留的类。

 

本文内容来自:Java面试题 : HashMap和Hashtable有什么区别? – Break易站


—Author: Arvin Chen —Web Address: www.breakyizhan.com (Break易站)

  •   本文标题:Java面试题 : HashMap和Hashtable有什么区别? - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/javamianshiti/1602.html

    "Java面试题 : HashMap和Hashtable有什么区别?"的笔记

    • Break易站

      2019年1月22日 下午1:50

      Hashtable方法是同步的 
      HashMap方法是非同步的

      Hashtable基于Dictionary类 
      HashMap基于AbstractMap,而AbstractMap基于Map接口的实现

      Hashtable中key和value都不允许为null,遇到null,直接返回 NullPointerException 
      HashMap中key和value都允许为null,遇到key为null的时候,调用putForNullKey方法进行处理,而对value没有处理

      Hashtable中hash数组默认大小是11,扩充方式是old*2+1 
      HashMap中hash数组的默认大小是16,而且一定是2的指数

    扫描二维码添加微信 
  • ,领取淘宝优惠券,淘宝购物更优惠。现在添加微信,还可以领取机械键盘优惠券!添加微信后,分享淘宝选中的机械键盘给淘宝机器人即可领取!
    支持我们,就用微信淘宝!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读