Добавление элемента в HashMap в HashMap

#java #hashmap

#java #hashmap

Вопрос:

У меня есть HashMap, который содержит HashMap в качестве значения. Я хотел бы добавить значение пары ключей в HashMap, рассматриваемое как значение. Я написал что-то вроде этого

 HashMap<String, HashMap<String, Integer>> record= new HashMap<>();
record.put("John",....)// I am not sure what to put here
  

Как это можно сделать?

Ответ №1:

 HashMap<String, HashMap<String, Integer>> record= new HashMap<>();
HashMap hm = new HashMap<>();
hm.put("string", 1);
record.put("John", hm);
  

Ответ №2:

 //get innerMap using key for record map
innerMap = record.get("John");
if(innerMap == null){ // do not create new innerMap everyTime, only when it is null
   innerMap = new HashMap<String, Integer>();
}
innerMap.put("Key", 6); // put using key for the second/inner map
record.put("John", innerMap)
  

Ответ №3:

Сначала вы должны получить экземпляр HashMap

 HashMap<String, Integer> map = new HashMap<>();
map.put("key", 1);
  

затем

 recore.put("John", map);
  

Ответ №4:

Вы можете использовать так —

  HashMap<String, HashMap<String, Integer>> record= new HashMap<String, HashMap<String, Integer>>();

    HashMap<String, Integer> subRecord = new HashMap<String, Integer>();
    subRecord.put("Maths", 90);
    subRecord.put("English", 85);

    record.put("John",subRecord);
  

Ответ №5:

Итак, это значение должно быть сохранено следующим образом :

 HashMap<String,Integer> value = new HashMap<>();
value.put("Your string",56);
  

Затем добавьте это значение Hashmap в вашу запись hashmap следующим образом:

 record.put("John",value);
  

Комментарии:

1. «Ваше целое число» не будет работать для Integer. Проверьте форматирование.

2. Да, верно, но я думаю, что это нормально для объяснения цели: P

Ответ №6:

Я видел много ответов, если вам нужна информация о том, как извлекать значения из внутренней Hashmap, пожалуйста, обратитесь к этому.

     HashMap<String, HashMap<String, Integer>> record= new HashMap<>();
    Map<String, Integer> innerMap = new HashMap<String, Integer>();    
    innerMap.put("InnerKey1", 1);
    innerMap.put("InnerKey2", 2);
  

Сохранение значения во внешнюю Hashmap

    record.put("OuterKey", innerMap);
  

Вот как вы извлекаете значения

   Map<String, Integer> map = record.get("OuterKey");
  Integer myValue1 = map.get("InnerKey1");
  Integer myValue2 = map.get("InnerKey2");