a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 91|回复: 0

[JAVA] java中Hashtable和HashMap的区别

[复制链接]
发表于 2012-7-31 22:04:26 | 显示全部楼层 |阅读模式
 都属于Map接口的类
1 `6 i8 W7 L7 C4 ~  HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
$ x6 D0 R+ x+ d3 }$ [3 ^# Q+ p- @+ u  Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。 8 u5 E- d0 R! ^2 j$ y9 A
  Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现 * p5 |, S8 k' U3 n
  HashMap允许将null作为一个entry的key或者value,而Hashtable不允许 2 s! b( l1 X1 B8 }3 u. s- O) v& K; _
  还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。   J. F1 r! g' V% [8 w* w
  最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在
$ G: S: N  t# \( e4 _  多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap
  K) m/ W$ t0 M  就必须为之提供外同步。   Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-3 09:27 , Processed in 0.206950 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表