我有一个LinkedHashMap
,其中UUID
个键和我的自定义类的实例作为值。这些条目的顺序必须与插入顺序相同。
我需要处理条目,在处理期间我想知道,我是否处理最后一个条目,我想转移到上一个或下一个实体。
看起来我需要NavigableMap
(导航功能)和LinkedHashMap
之间的混合(保存插入顺序)。
我如何解决这个问题,最好的方法是什么?如果LinkedHashMap
元素被链接,为什么我不能移动beetwen呢?
答案 0 :(得分:1)
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),因为它由HashMap
和ArrayList
支持