【发布时间】:2017-06-23 15:33:00
【问题描述】:
我有一个 Java 程序,我想将其转换为 C++。因此,Java 代码中使用了 Linkedhashmap 数据结构,我想将其转换为 C++。 C++ 中 LinkedHashmap 是否有等效的数据类型?
我尝试使用std::unordered_map,但是它不保持插入顺序。
【问题讨论】:
-
不,你没有。这是一个丑陋的数据结构,难怪没有人建议对其进行标准化
-
@DavidHaim 嗯。那么,如何创建具有可预测迭代顺序的 hashmap?
-
您首先需要问自己为什么哈希图中的插入顺序很重要..
-
您需要“全局”插入顺序还是“本地”仅用于重复键?多值哈希映射。
-
我通常使用 LinkedHashMap 作为 LRUCache,因为它的 removeEldest() 方法很容易支持大小和时间限制的缓存。其他寻找相同内容的人可能会关注这个问题而不是stackoverflow.com/questions/2504178/lru-cache-design
标签: c++ unordered-map linkedhashmap