實際上,每次我想要一個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;
}
感謝。 :)