黑马程序员技术交流社区

标题: hashtable问题 [打印本页]

作者: 郑昌奋    时间: 2013-3-21 15:07
标题: hashtable问题
本帖最后由 郑昌奋 于 2013-3-21 20:37 编辑

hashtable一般是在什么场景下会使用 呢?怎么我很少看到在程序中运用到这个呢
作者: 程媛媛    时间: 2013-3-21 15:15
Hashtable是基于陈旧的Dictionary类,完成了Map接口,后来HashMap在java1.2出现后,替代了HashTable。所以HashTable很少使用到。
作者: qintoko    时间: 2013-3-21 15:27
Hashtable 基本不使用!
Hashtable是1.0的老版本类,是线程安全的,键和值都不能为null;
作者: 郑昌奋    时间: 2013-3-21 15:37
程媛媛 发表于 2013-3-21 15:15
Hashtable是基于陈旧的Dictionary类,完成了Map接口,后来HashMap在java1.2出现后,替代了HashTable。所以H ...

就这一点区别以外还有其他的差异的么?比如说应用场景一些的
作者: 程媛媛    时间: 2013-3-21 15:49
郑昌奋 发表于 2013-3-21 15:37
就这一点区别以外还有其他的差异的么?比如说应用场景一些的

在多线程的情况下,HashTable的线程是安全的,HashMap是不安全的,所以在多线程下实行HashMap时,需要自己加上同步方法;因为HashMap是线程不安全的,所以在单线程时,HashMap的效率会高一点;而且HashMap允许将null作为一个entry的key或者value,但是Hashtable不允许。所以HashMap用的比较多。
作者: 郑昌奋    时间: 2013-3-21 15:53
程媛媛 发表于 2013-3-21 15:49
在多线程的情况下,HashTable的线程是安全的,HashMap是不安全的,所以在多线程下实行HashMap时,需要自 ...

嗯,这个明白!那以后都会很少用HashTable,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2