开发笔记:Map与Hashtable的比较
2010-03-22 10:36
267 查看
虽然Map是一个接口,Hashtable是一个具体实现,二者还是有许多相似之处,以下列出了一些区别:
1.Map提供了Collection视图,而不是直接支持通过Enumberation对象进行迭代。对Collection视图的支持极大地增强了Map接口的表达能力。
2.Map容许我们通过key, value和key-value pair迭代;而Hashtable只支持前两种迭代方式。
3.如果需要在迭代过程中删除元素,Map提供了安全的方法,而Hashtable没有。
最后,Map还修正了Hashtable的一个小错误。Hashtable的contains方法会根据传入的value返回布尔值,代表此value是否存在Hashtable中。然而,大家往往认为,传入的应该是一个key值,因为key才是访问Hashtable的主要机制。Map接口则没有这样的问题,它同时提供了containsValue和containsKey两种方法。
1.Map提供了Collection视图,而不是直接支持通过Enumberation对象进行迭代。对Collection视图的支持极大地增强了Map接口的表达能力。
2.Map容许我们通过key, value和key-value pair迭代;而Hashtable只支持前两种迭代方式。
3.如果需要在迭代过程中删除元素,Map提供了安全的方法,而Hashtable没有。
最后,Map还修正了Hashtable的一个小错误。Hashtable的contains方法会根据传入的value返回布尔值,代表此value是否存在Hashtable中。然而,大家往往认为,传入的应该是一个key值,因为key才是访问Hashtable的主要机制。Map接口则没有这样的问题,它同时提供了containsValue和containsKey两种方法。
相关文章推荐
- Hashtable、synchronizedMap、ConcurrentHashMap 比较
- Hashtable、synchronizedMap、ConcurrentHashMap 比较
- Collections.synchronizedMap()、ConcurrentHashMap、Hashtable之间的区别 为什么要比较Hashtable、SynchronizedMap()、Co
- 浅谈MTK平台下Android开发比较学习笔记
- Android Map开发基础知识学习笔记
- Java高级个人笔记(判断List、Map、Set是否为空及效率比较)
- ios Map 开发笔记 四 导航画线
- Android Map开发基础知识学习笔记
- 【Cocos2d-x游戏引擎开发笔记(14)】Tiled Map Editor(二)
- Java:Map与HashMap,Hashtable,HashSet比较
- 【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(一)
- Hashtable、synchronizedMap、ConcurrentHashMap 比较
- stl: map和hashmap比较 hashmap与hashtable
- 【Cocos2d-X开发学习笔记】第27期:游戏背景之贴图地图类(CCTileMapAtlas)的使用
- Android Map开发基础知识学习笔记
- WP7应用开发笔记 继承BitmapSource并使用独立存储来缓存远程的图片
- Android Map开发基础知识学习笔记
- Android Map开发基础知识学习笔记
- Android Map开发基础知识学习笔记
- 黑马程序员_温习 集合五 (个人笔记)摘要(Map集合体系---Hashtable集合---HashMap集合----TreeMap集合)