【发布时间】:2010-11-18 16:20:34
【问题描述】:
我正在寻找一个具有随机访问映射实现的开源库。 我需要一个地图,它维护其哈希索引,但也像 LinkedHashmap 一样按插入顺序索引值,除非您不必遍历它来查找例如。元素 2. 像这样的东西:
Map m = new ArrayMap();
m.put("0", "v0");
m.put("1", "v1");
m.put("2", "v2");
m.put("3", "v3");
然后:
assertEquals("v2", m.get("2"));
assertEquals("v2", m.getAtIndex(2));
这个想法是两种类型的查找都必须快速。
快速谷歌没有找到任何东西,我没有在 Guava 或 commons 集合中看到它(我可能忽略了它)。 我现在真的没有时间正确实施它。
【问题讨论】:
-
LinkedHashMap supports
m.get("2") -
是静态的还是动态更新的?
-
您是否要求 'm.get(1)' 和 'm.get("key")' 都是 O(1) 的东西?地图中的“顺序”是键的顺序吗?
-
@DJClayworth 是的,是的
标签: java collections guava apache-commons-collection