如何使链接的哈希映射可导航?

时间:2018-02-25 15:15:39

标签: java linkedhashmap

我有一个LinkedHashMap,其中UUID个键和我的自定义类的实例作为值。这些条目的顺序必须与插入顺序相同。 我需要处理条目,在处理期间我想知道,我是否处理最后一个条目,我想转移到上一个或下一个实体。 看起来我需要NavigableMap(导航功能)和LinkedHashMap之间的混合(保存插入顺序)。

我如何解决这个问题,最好的方法是什么?如果LinkedHashMap元素被链接,为什么我不能移动beetwen呢?

1 个答案:

答案 0 :(得分:1)

来自Apache commons的

ListOrderedMap提供您描述的功能。 E.g。

ListOrderedMap<String, String> data = new ListOrderedMap<>();
data.put("2", "b");
data.put("1", "a");
data.put("5", "c");
System.out.println(data.firstKey());
System.out.println(data.lastKey());
System.out.println(data.get(1));
System.out.println(data.get("2"));

请注意,int(插入顺序)和按键有get种方法,两者都是O(1),因为它由HashMapArrayList支持