采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
哈希表可不可以简单粗暴地理解成Map(映射)的逆过程(或者说反函数)
可能我没有特别理解你的问题。但是哈希表本身就是一个Map。存储键值数据对。只是内部实现是使用哈希的方式。
在Java中,有HashMap和TreeMap两种Map,都是Map,只是底层实现机制不同。当然,由于底层实现机制不同,试用的场合不同:)
我的意思是Map是通过有序的key产生value,而Hash表是通过value来反产生有序的key,在思维方式是反向的,但如果非要说是逆过程又太抽象了,所以我说“可不可以简单粗暴地理解成”
Hash表不是通过value来反产生key,哈希表是通过key生成hashcode。哈希表也是存储key-value的数据对。哈希表是一种Map。
另外,TreeMap的value也不是key生成的,是业务提供的。存储学生的分数,key就是学生姓名(或者学号),value就是分数;做词频统计,key就是单词,value就是频率;等等等等。Map只是一种提供快速存储,快速查询的“容器”而已。
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.4k 16
1.4k 17
1.4k 14
1.3k 14