"字典","哈希" ,"map"的概念混淆,求理清

yinhaixiang 发布于 2015/05/26 12:27
阅读 469
收藏 0
在学习语法的过程中这三个词经常会时不时的出现,一直感觉三者差不多,但自己也有点混乱,不知道这三者到底是什么关系,希望能得到通俗易懂的答案,谢谢各位了。
加载中
1
云香水识
云香水识

  • 字典: 顾名思义,给人查东西用的,一般来说是指进行解释意义的数据存储, 可以是程序文档接口描述的一种,也可以只是一些个数据集中管理。  map结构,枚举类型结构,关系型数据库等的复杂数据结构都能做字典。
  • map: 映射关系数据结构,一般就是key-value的索引模式。 
  • hash: 一般翻译作“散列” ,是一种压缩映射关系, 在一定的规则下面,一组数据可以被递归散列成每一条数据映射一个简短表达的结果【散列表】。 例如十进制的数据100, 除以16商为6余数为6, 可以表达成十六进制的 66, 所有的10进制整数字符都有映射的16进制表达,而且结果会比较短(数据比较大的时候)。  
  • 当然在java中有有关Map结构的实现模式 hashMap, 事实上底层用的散列模式处理了数据堆(我不清楚,也许只是key),方便通过key索引对象。

总结一下: 字典是一种业务定义的数据模型, hash是一种(加密)算法, map是一种程序性数据结构。

PS: 很多情况下写书的人都不会非常卡 字典/map 这俩字眼,如果没有说是业务定义的数据字典, 可以理解就是map这样的数据结构。

0
梅开源
梅开源

反映数据映射关系的数据结构

哈希是种映射原理特殊点的,最常见的就是key-value的

yinhaixiang
yinhaixiang
那我就想知道字典,哈希,和map是不是一回事
0
南湖船老大
南湖船老大
Java 1.4的时候,还有字典这个数据结构,后来用的少了。map是字典的特例,map和哈希没任何关系。
0
南湖船老大
南湖船老大
好比圆形和杯子没任何关系,圆形的杯子就叫hashmap。就这么而已,圆还是圆,杯子还是杯子
返回顶部
顶部