java - 谷歌地图制作工具 : iterating over entries in LRU order

标签 java dictionary guava

是否可以按 LRU 顺序迭代由 MapMaker 创建的 map ? com.googlecode.concurrentlinkedhashmap 具有 ascendingKeySetdescendingKeySet 方法,但这些方法在 返回的 map 中似乎不可用MapMaker(CustomConcurrentHashMap 的实例)。默认迭代器是否使用 LRU 排序?粗略地看一下代码表明并非如此。

我正在尝试为包含 MapMaker map 的类实现克隆方法,因此我需要一种方法来创建 map 的克隆,以维护 map 条目的 LRU 排序。

撇开同步问题不谈,如果我可以按 LRU 顺序迭代条目,那么我可以将条目添加到具有相同限制的 MapMaker map 的新实例中,并且我将拥有一个可用的克隆。

最佳答案

不,这是不可能的。 MapMaker 不会在任何地方保留全局 LRU 排序;这些段维持内部 LRU 排序,但仅此而已。

关于java - 谷歌地图制作工具 : iterating over entries in LRU order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12606508/

相关文章:

dictionary - Erlang/Elixir 合并带有大多数重复键的映射

java - InputStream 在 TimerTask 调用 Guava 映射时保持打开状态; GlassFish 提示取消部署

java - 使用 Guava 的 EventBus,可以在创建总线的线程上运行订阅者代码吗?

C# 将 List<string> 转换为 Dictionary<string, string>

java - 分数程序 - Java

java - Spring数据延迟加载不起作用

java - XML Schema V 1.1 断言在 Xerces-J 中不起作用

python - 用重复值展平字典

java - 如何在迭代时更新bean

java - 如何从 flickr 加载原始图像?