c++中用什么代替java中的hashtable?

用map还是set,map中判断是否存在时,元素不存在时会自动将元素插入map,而set的话,只包含一个key,如何实现java中hashtable<string,Lin... 用map还是set,map中判断是否存在时,元素不存在时会自动将元素插入map,而set的话,只包含一个key,如何实现java中hashtable<string, LinkedList<string>>一样的功能??? 展开
 我来答
百度网友e096309
2017-03-03 · TA获得超过1327个赞
知道小有建树答主
回答量:501
采纳率:96%
帮助的人:414万
展开全部
旧的c++里没有自带的hashtable。boost库或者c++11里有unordered_map是哈希表(相当于Java的HashMap)。
可以用map,也是key-value存储的,不过底层是红黑树(相当于Java的TreeMap)。
map如果你希望判断元素是否存在,建议用这两种方式,就不会插入元素了:
1) m.count(key) > 0 参考http://www.cplusplus.com/reference/map/map/count/
2) m.find(key) != m.end() 参考http://www.cplusplus.com/reference/map/map/find/
追问
哦哦哦,好的谢谢了,那unordered_map底层是什么呢?是不是跟hashtable一个原理呢?
追答
是的,unordered_map是就是哈希表,底层是哈希实现的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式