【发布时间】:2017-02-23 10:01:58
【问题描述】:
实际上,每次我想要一个键的位置时,我都会创建一个 LinkedHashMap 的键集的新 ArrayList。
public static Map<Integer, Object> ObjectsWithId = new LinkedHashMap<>();
public int getId(int number) {
return (number <= ObjectsWithId.size()) ? new ArrayList<Integer>(ObjectsWithId.keySet()).get(number-1) : -1;
}
有没有办法用 ArrayList 创建 HashMap 的键集的“链接”? 我不希望每次我想要一个键的位置时都创建一个 ArrayList。
这是我尝试过的以及我想要的:
public static Map<Integer, Object> ObjectsWithId = new LinkedHashMap<>();
public static ArrayList<Integer> ObjectsKeys = new ArrayList<Integer>(ObjectsWithId.keySet());
public int getId(int number) {
return (number <= ObjectsWithId.size()) ? ObjectsKeys.get(number-1) : -1;
}
提前致谢。 :)
【问题讨论】:
标签: java arraylist hashmap linkedhashmap keyset