哈希表,哈希集合和哈希映射有什么区别吗?

weixin_45906870 2020-09-10 03:15:27
我问的是概念上的理解,大佬们不要叫我去百度了,我都看过了
...全文
1393 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_45906870 2020-09-11
  • 打赏
  • 举报
回复
大佬解释地太清楚了
qybao 2020-09-10
  • 打赏
  • 举报
回复 16
哈希表(hashtable),又叫散列表,是根据关键码(key)来进行访问的数据结构,通过哈希函数把key转成哈希值来定位数据存储的位置。通常是键-值对(即key-value)的结构,即用key算出的哈希值来定位存储位置,在该位置上存储内容为value。 哈希集合(hashset),也是一种通过哈希值来定位存储位置的数据结构,只是它不是键-值对结构,而是储存key本身,相当于只有哈希表(hashtable)的key部分,即用key算出的哈希值来定位存储位置,在该位置上存储内容为key本身。 简单来说就是,哈希集合是不能存储重复元素的数据结构(集合),而哈希表是存储键-值对(key-value),其中键key不能重复。 哈希映射(hashmap)是和哈希表(hashtable)相似的数据结构,也是键-值对存储,只是哈希映射是线程安全的,而哈希表是非线程安全的。所谓线程安全,就是多线程同时操作数据的时候,能确保在同一时刻只能有一个线程能访问同一个数据(也就是会给数据操作加锁);如果不能确保这个,就是非线程安全。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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