@SeniorDmitry

Как В HashMap добавить знчаение HashMap?

Есть два HashMap'a
HashMap> AccommodationMapOur = new HashMap();
HashMap AccommodationMapOurTwo = new HashMap();
AccommodationMapOur.put("1", AccommodationMapOurTwo);
AccommodationMapOur.put("2", AccommodationMapOurTwo);
Получаем : {2={}, 1={}} ;
Как получить такое значение {2={3=3}, 1={4=4}} ;

не понимаю как для каждого ключа первого Хешмапа сделать разный ключ значение для второго Хешмапа =(
  • Вопрос задан
  • 270 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Во-первых, что это? Дженерики использовать вам запретили, бьют по рукам?
HashMap<String, HashMap<String, String>> accommodationMapOur = new HashMap<>();

Давайте разберемся, что мы тут имеем. Имеем Map, в которой ключ - строка, значение - другая Map. Ок.

HashMap<String, String> accommodationMapOurTwo = new HashMap<>(); //пустая Map
accommodationMapOur.put("1", accommodationMapOurTwo); //Ok, запихали в первую мапу вторую.
accommodationMapOur.put("2", accommodationMapOurTwo); //Ok, сделали это ещё раз, не забываем, что в джаве всё - ссылка.

То есть добавлять надо каждый раз новую Map, не так ли?
for (int i = 0; i < 100500; ++i) {
    HashMap<String, String> newMap = new HashMap<>();
    newMap.put(String.valueOf(i + 10), String.valueOf(i + 20));
    accommodationMapOur.put(String.valueOf(i), newMap);
}


Например, так.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы