実際には、キーの位置を指定するたびに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;
}
感謝を:ここで
は、私が試したものを、私は持っていたいと思うものです。 :)