Вы, вероятно, делаете это неправильно ...
Во-первых, HashMap не может хранить целые числа, ему нужны надлежащие объекты - например, Integer.
& Ndash; Массив - это объект, хотя он скрыт за каким-то синтаксическим сахаром.
Вот как зациклить обе карты, если они имеют одинаковый размер,
это то, что я имею в виду.
Iterator<int[]> expenses = val1.values().iterator();
Iterator<Integer> people = val2.values().iterator();
assert val1.size() == val2.size() : " size mismatch";
while (expenses.hasNext()) {
int[] expensesPerMonth = expenses.next();
int persons = people.next();
// do strange calculation
int strangeSum = 0;
for (int idx = 0; idx < expensesPerMonth.length; idx++) {
strangeSum += persons * expensesPerMonth[idx];
}
System.out.println("strange sum :" + strangeSum);
}
Но вы, вероятно, должны вернуться и переосмыслить, как вы храните свои данные & ndash;
почему вы используете карты, и в чем ключ?
Не лучше ли создать, например, объект, представляющий собой комбинацию ежемесячных расходов и количества людей?