사실, 키의 위치를 원할 때마다 LinkedHashMap의 키 세트의 새로운 ArrayList를 만듭니다.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;
}
HashMap의 키 집합과 ArrayList의 "링크"를 만드는 방법이 있습니까? 키 위치를 원할 때마다 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;
}
감사 : 여기
내가 뭘하려하고 내가 가지고 싶은 것입니다. :)