黑马程序员技术交流社区
标题:
HashMap和Hashtable的区别?
[打印本页]
作者:
zhangx
时间:
2013-4-18 22:27
标题:
HashMap和Hashtable的区别?
感觉HashMap和Hashtable在操作上没有什么大的区别,那到底用哪个呢?哪个比较好呢?
作者:
Miss小强
时间:
2013-4-18 22:49
用HashMap,HashMap和HashTable,两者的区别,前者是线程非安全的,效率更高,后者是安全的,但是效率不高,但是需要注意的是HashTable有一个子类Properties比较重要,在和properties配置文件结合使用时有很大的威力。。。
作者:
love_java
时间:
2013-4-18 22:51
这个我以前笔试的时候遇到过
HashMap是新的,非线程安全,不检查锁,比较快
HashTable是旧的(jdk1.2以前用的),线程安全,检查锁,慢一点,不过差别很小
HashMap比较常用
作者:
心弦上的景致
时间:
2013-4-18 22:59
hashtable知道就行了 据我所知开发用的比较多的就是hashmap和ArrayList linkedList
java属于第三代高级计算机语言 一直在更新换代 很多淘汰的东西没必要太计较 做开发用什么学什么吧
作者:
smile_joe
时间:
2013-4-18 23:02
你好,
HashMap
HashMap允许null值与null键,非同步,线程不安全。
它的底层实现是基于hash表的;使用元素的hashCode方法与equals方法保证key值的唯一
Hashtable
Hashtable不允许null值null键,它是同步的,不存在线程安全问题。其他与HashMap一样
但是既然HashTable是同步的,线程安全,它的效率就会降低,适合多线程操作,我们平时用的较多的都是单线程,也要求效率,
所以建议使用HashMap.
...
作者:
zhuiyi0819
时间:
2013-4-18 23:33
Hashtable是1.0的老版本类,是线程安全的,键和值都不能为null;
HashMap是1.2的新版本类,是线程不安全的,键和值都可以为null;
Hashtable有一个超牛的子类--Properties
1 Properties特性
1.0的老版本类
Hashtable的子类(线程安全的、底层哈希表、键值都不能为null)
有自己的映射获取方法,不建议使用父类的映射获取方法
可以与IO流交互(很强大的功能)
2 Properties独有方法
Object setProperty(String name, String value):代替父类的put()方法来映射值;
String getProperty(String name):代替父类的get()方法;
Enumeration<?> propertyNames():获取所有键。
作者:
王大斌
时间:
2013-4-19 01:02
这个问题一般查看jdk就好,一定要学会查文档
作者:
〃Mr.Zぐ
时间:
2013-4-22 14:51
有以下三方面:
1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
2.hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。
3.hashMap允许空键值,而hashTable不允许。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2