关于HashMap、HashSet、Hashtable的问题

凌风_Java高性能架构 2010-01-15 08:02:59
HashMap在java api中定义为:基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。
HashSet:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。
Hashtable:此类实现一个哈希表,该哈希表将键映射到相应的值。
我想问的问题是:这三个定义中的哈希表如何理解。Hashtable实现一个哈希表,不太明白。请高手、大虾帮忙解答,谢谢!
...全文
147 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wekui 2010-01-16
  • 打赏
  • 举报
回复
其实这种网上资料很多,当你可以可以在搜索引擎找到相关信息的话,就不要再论坛里浪费时间了
wekui 2010-01-16
  • 打赏
  • 举报
回复
mark
licip 2010-01-16
  • 打赏
  • 举报
回复
HashMap是效率比较高,但它是非同步的。Hashtable效率比HashMap要差一些,但它是同步的。
存在666 2010-01-16
  • 打赏
  • 举报
回复
冲突了咋办呢!????
huntor 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 inkfish 的回复:]
这是基础数据结构的知识。
先要知道什么是hash,然后要知道hash存东西的原理,然后就知道什么叫哈希表了
[/Quote]
hash 就是一种映射, Java中就是从其他类型映射到int。理想的hash是一一映射。实际上很难做到,于是冲突发生了。
墨水鱼 2010-01-15
  • 打赏
  • 举报
回复
这是基础数据结构的知识。
先要知道什么是hash,然后要知道hash存东西的原理,然后就知道什么叫哈希表了
garysoft 2010-01-15
  • 打赏
  • 举报
回复
hashmap继承了map借口,是一个映射集合。
hashset继承了set接口,是一个无序的set集合。
hashmap和hashtable没有太大区别,不同之处在于HashMap是非同步的,并且允许null,即null value和null key

另外:
http://hi.baidu.com/lei55022033/blog/item/d15622ec63d25c342797916f.html
看看
huntor 2010-01-15
  • 打赏
  • 举报
回复
能从音译顾名思义的不是一般的彪悍
z_lping 2010-01-15
  • 打赏
  • 举报
回复
不要哈希哈希的,整个音译看着别扭。
要么用Hashing,要么叫散列。
applerockhool 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 win_justsoso 的回复:]
就是查看了AP不明白这其中说的“哈希表”的意思,才寻求解答。如果不能解释,请不要乱说。谢谢!
[/Quote]

看看基础数据结构,哈希表顾名思义啊
  • 打赏
  • 举报
回复
就是查看了AP不明白这其中说的“哈希表”的意思,才寻求解答。如果不能解释,请不要乱说。谢谢!
借我那把枪吧 2010-01-15
  • 打赏
  • 举报
回复
直接查看API文档不就结了吗,然后多练,其他都假的,不要再发这样的问题了,你按我说的去做,之后你都会发现你发这样的问题真的很幼稚

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧