如何在LinkedHashMap中获取键的索引?
例如我得到了这个:
index key value
0 "a" 10
1 "b" 20
2 "c" 30
现在我想得到键“b”的索引。在这种情况下是什么1。
没有运行时O(n)的任何方式?
我将在循环中使用它,例如new ArrayList<String>(mapIndex.keySet()).indexOf(position_with_section_map[position]);
对我来说不会是一个解决方案
答案 0 :(得分:2)
不,如果没有LinkedHashMap
的O(n)运行时,就没有办法做到这一点。你可以保留一个额外的Map<String, Integer>
来自己保存元素的索引,但这是你唯一可以做的事情。
答案 1 :(得分:1)
添加到Louis Wasserman答案而不是创建新地图,您可以将索引和值移动到Pojo并将其保存为Map中的值。
class Test{
int index;
int value;
public int getIndex();
public int getValue();
}
将LinkedHashMap用作LinkedHashMap字符串,测试&gt;