Hashtable和HashMap的区别
2006-04-28 13:45
645 查看
Hashtable和HashMap的区别
转自:http://www.cublog.cn/opera/showart.php?blogid=7257&id=93512
1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;
2.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表
示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个
键,而应该用containsKey()方法来判断。
3.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程中,hashtable 不用线程安全控制,就可以达到安全。而HashMap则使用安全机制,可以说Hashmap是轻量级的Hashtable.
方法得到解决:
Map Collections.synchronizedMap(Map m)
这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。
转自:http://www.cublog.cn/opera/showart.php?blogid=7257&id=93512
1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;
2.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表
示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个
键,而应该用containsKey()方法来判断。
3.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程中,hashtable 不用线程安全控制,就可以达到安全。而HashMap则使用安全机制,可以说Hashmap是轻量级的Hashtable.
方法得到解决:
Map Collections.synchronizedMap(Map m)
这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。
相关文章推荐
- HashMap 和 Hashtable 的区别?
- HashMap和Hashtable的区别
- HashMap和Hashtable的区别
- ArrayList和LinkedList 以及 Hashtable和HashMap的区别
- HashMap和HashTable的区别。
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap分别的区别
- HashMap和HashTable的区别
- HashMap和HashTable的区别
- HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
- ArrayList和LinkedList HashMap和Hashtable的区别的区别
- HashMap与HashTable的区别
- Android——ArrayList 、LinkList、List 区别 & 迭代器iterator的使用 & HashMap、Hashtable、LinkedHashMap、TreeMap
- HashMap和Hashtable的区别
- Java中HashMap和HashTable的区别
- HashMap和Hashtable的区别 2013/11/12 | 分类: 基础技术 | 5 条评论 | 标签: 基础技术 分享到: 157 本文由 ImportNew - 唐小娟 翻译自 Javar
- Java中的HashTable和HashMap的区别
- Hashtable和HashMap的区别
- HashMap和HashTable的区别
- HashMap和HashTable的区别
- HashMap和Hashtable的区别