首页 > 解决方案 > 构建hashmap java的问题

问题描述

我在构建哈希图时遇到了一些麻烦,但我花了很多时间,而且我对这种对象没有太多经验,我的问题是在构建下一个哈希图时:

Map<String, Map<String, Map<String, Object>>> map = new HashMap<String, Map<String, Map<String, Object>>>();
Map<String, Map<String, Object>> map1 = new HashMap<String, Map<String, Object>>();
Map<String, Object> map2 = new HashMap<String, Object>();
Map<String, Object> map3 = new HashMap<String, Object>();

map2.put("one",1);
map1.put("two", map2);
map.put("cero", map1);

System.out.println(map);

输出是:

{cero={two={one=1}}}

但是现在我想在键级别添加另一个percent具有字符串值的键,例如:10cero

{percent=10,cero={two={one=1}}}

我试过类似的东西:

Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("percent", "10");
map.get("cero").putAll(map3);

方法中有错误,putAll因为 java 需要Map<String, Map<String, Object>>一种对象,但我只需要添加该percent属性。希望我的问题很清楚,你们可以帮助我,谢谢。

标签: javajsonstringhashmap

解决方案


我们可以尝试将map1添加到map3

    Map<String, Map<String, Map<String, Object>>> map = new HashMap<String, 
                                          Map<String, Map<String, Object>>>();
    Map<String, Map<String, Object>> map1 = new HashMap<String, Map<String, Object>> 
                                                                                  ();
    Map<String, Object> map2 = new HashMap<String, Object>();
    Map<String, Object> map3 = new HashMap<String, Object>();
    map2.put("one",1);
    map1.put("two", map2);
    map3.put("percent", "10");
    map3.put("cero",map1);
    System.out.println(map3);

这在 map3 {percent=10,cero={two={one=1}}}中给出了以下结构


推荐阅读