Я пытаюсь использовать hashmap для хранения массива int из 4 целых чисел. когда я добавляю к хэшмапу, он должен добавить последний набор из 4 целых чисел, а затем сгенерировать новый набор из 4 чисел. Но вместо этого он перезаписывает все значения с помощью вновь созданного набора из 4 целых чисел ... Это кажется странным, потому что я никогда не говорю об этом. Есть идеи? Вот код, где он будет добавленjava hashmap переписывающие значения
System.out.println("Games Played: " + gamesPlayed);
System.out.println("Size Before: " + scoreAnswer.size());
scoreAnswer.put(gamesPlayed, answer); //gamesPlayed will increase by 1 every time right after
System.out.println("Size After: " + scoreAnswer.size());
for (int i = 0; i < maxPin; i++) {
System.out.println(answer[i]);
}
System.out.println("hash");
for (int i = 0; i < scoreAnswer.size(); i++) {
int[] a = scoreAnswer.get(i);
for (int j = 0; j < a.length; j++) {
System.out.println("[" + i + "]" + a[j]);
}
}
gamesPlayed++;
System.out.println("Games Played: " + gamesPlayed);
, когда я запускаю программу и иметь его добавить в HashMap это то, что напечатает:
Games Played: 0, Size Before: 0, Size After: 1, 4 0 0 4, hash [0]4 [0]0 [0]0 [0]4 Games Played: 1
Все здесь работает, до тех пор пока у меня есть это добавить еще в хэш, он будет возвращать это:
Games Played: 1, Size Before: 1, Size After: 2, 4 2 0 4, hash [0]4 [0]2 [0]0 [0]4 [1]4 [1]2 [1]0 [1]4, Games Played: 2
Как вы можете видеть, первое множество целых чисел, были перезаписаны на 2-й набор целых чисел. Я понятия не имею, почему это происходит. Любая помощь приветствуется!
EDIT: Извините, мой компьютер отправил вопрос, прежде чем я закончил набирать весь свой код.
Что вы имеете в виду под «всеми значениями»? Это не помогает, что мы не знаем ни одного из задействованных типов. Краткая, но полная программа, демонстрирующая проблему, облегчит вам помощь. –
Нам нужно [MCVE] (http://stackoverflow.com/help/mcve) и более эффективную задачу, чтобы ответить на это. Ваше текущее описание звучит смутно для меня, как это не имеет ничего общего с Картой, а скорее непонимание того, как работают ссылки на массивы. – Radiodef
Вы когда-нибудь повторно инициализировали 'ответ'? – chancea