实际上,每次我想要一个key的位置时,我都会创建一个LinkedHashMap的keyset的新ArrayList。如何使用ArrayList访问hashmap keyset
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的keyset的“连接”? 我想不必创建一个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;
}
感谢。 :)