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

用map还是set,map中判断是否存在时,元素不存在时会自动将元素插入map,而set的话,只包含一个key,如何实现java中hashtable<string, LinkedList<string>>一样的功能???

旧的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是就是哈希表,底层是哈希实现的

温馨提示:答案为网友推荐,仅供参考