У меня есть 2D-массив целых чисел. Я хочу, чтобы они были помещены в HashMap. Но я хочу получить доступ к элементам из HashMap на основе индекса массива. Что-то вроде:
Для A [2] [5], map.get(2,5)
, который возвращает значение, связанное с этим ключом. Но как создать хэш-карту с помощью пары ключей? Или, в общем, несколько ключей: Map<((key1, key2,..,keyN), Value)
таким образом, что я могу получить доступ к элементу с помощью get (key1, key2,... keyN).
РЕДАКТИРОВАТЬ: через 3 года после размещения вопроса я хочу добавить немного больше
Я столкнулся с другим способом для NxN matrix
.
Индексы массивов, i
и j
могут быть представлены как один key
следующим образом:
int key = i * N + j;
//map.put(key, a[i][j]); // queue.add(key);
И индексы могут быть восстановлены из key
следующим образом:
int i = key / N;
int j = key % N;