开发笔记:Map与Hashtable的比较

来源:互联网 发布:勇士vs马刺数据11.3 编辑:程序博客网 时间:2024/04/28 14:10

虽然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两种方法。

原创粉丝点击