是否可以按 LRU 顺序迭代由 MapMaker
创建的 map ? com.googlecode.concurrentlinkedhashmap
具有 ascendingKeySet
和 descendingKeySet
方法,但这些方法在 返回的 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/