实际上,每次我想要一个键的位置时,我都会创建一个 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;
}
提前致谢。:)