【发布时间】:2012-02-21 01:42:43
【问题描述】:
Java 的HashTable 是一个同步的哈希表(并且存在了很长一段时间),而HashMap 是一个非同步的。
在HashTable中,有2种方式获取hashtable的key:
Keys 其中:
键
public Enumeration keys() 返回键的枚举 这个哈希表。
和
公共设置 keySet()
返回 this 中包含的键的 Set 视图 哈希表。 Set 由 Hashtable 支持,因此对 Hashtable 反映在 Set 中,反之亦然。该套装支持 元素删除(从 Hashtable),但不是元素添加。
在后者中明确指出键是对哈希表的直接引用(因此请注意修改等)。
但是keys() 没有这样的提及。
所以我的问题是:
使用枚举器的keys() 是否返回密钥的副本(与返回实际密钥的keyset() 不同)?
如果是,为什么HashMap 中没有这种方法而只提供keyset()?
【问题讨论】:
标签: java map hashmap hashtable javadoc