У меня есть два HashMaps.Как добавить HashMap в HashMap HashMaps без его перезаписывания
Map<Integer, HashMap<String,Integer>> outer = new HashMap<Integer,HashMap<String,Integer>>();
HashMap<String, Integer> inner =new HashMap<String, Integer>();
У меня есть цикл, который обновляет внутреннее с каждой итерации
inner.put(word, docEnum.freq());
После каждой итерации я добавить внутренней к наружной помощью глобальной переменной (общественности статической HashMap tempMap = NULL;)
tempMap = inner;
outer.put(count, tempMap);
count++;
Когда я печатаю внешний, я обнаруживаю, что каждый элемент содержит окончательную версию внутренней. Как я могу предотвратить перезапись этих данных. Я рассмотрел несколько других вопросов по этой теме, перейдя внутрь к глобальной переменной, но, похоже, не работает.
Thanks
Вы понимаете, что вы просто храните ** ссылки ** в своей HashMap, правильно? Если вы хотите, чтобы каждый был другим, вам нужно будет явно скопировать. –
Не делайте 'tempMap = new Hashmap', вероятно, правильным решением, но, не показывая [mcve], сложно понять, что вы делаете и почему оно не работает –