我有一个LinkedHashMap,我正在try 拆分它的键和值,并引用键集中的特定键或值集中的值.为了前任. 假设我有以下LinkedHashMap:
4|2
3|1
我希望函数返回1,这是集合中索引为1的值,如果索引=0,则返回2. 对于另一个函数,我希望得到3作为值,在键值中使用索引1. 因此,基本上从LinkedHashMap创建一个仅包含值/键的数组,然后在该数组中查找某个给定位置. 我的代码如下所示:
public static Integer getLHMValue(Map<Integer, Long> lhm, int index) {
Set<Map.Entry<Integer, Long>> valueSet = lhm.entrySet();
Integer[] valueArray = valueSet.toArray(new Integer[valueSet.size()]);
Integer value = valueArray[index];
return value;
}
public static Integer getLHMKey(Map<Integer, Long> lhm, int index) {
Set<Integer> keySet = lhm.keySet();
Integer[] keyArray = keySet.toArray(new Integer[keySet.size()]);
Integer key = keyArray[index];
return key;
}
不过,我在以下位置获得了java.lang.ArrayStoreException:java.util.LinkedHashMap$条目: Integer[]密钥数组=valueSet.toArray(new Integer[valueSet.size()]);. 有什么主意吗?