Java 如何将元素放入用作缓存的分组二维贴图中

Java 如何将元素放入用作缓存的分组二维贴图中,java,Java,我的地图像- Map<String,Map<string,Object> 像这样。因此,我需要按第一个键(“公司名称”)对数据进行分组。 我想把这些数据也存储到一些缓存中。 但如何将数据放入该映射中,以便以分组方式存储数据。 google multimap对数据进行分组,但不是2d地图。下面的代码可能会帮助您,它采用了带有3个参数的put方法 public class MyMap extends HashMap<String,Map<String,Object&g

我的地图像-

Map<String,Map<string,Object>
像这样。因此,我需要按第一个键(“公司名称”)对数据进行分组。 我想把这些数据也存储到一些缓存中。 但如何将数据放入该映射中,以便以分组方式存储数据。
google multimap对数据进行分组,但不是2d地图。

下面的代码可能会帮助您,它采用了带有3个参数的
put
方法

public class MyMap extends HashMap<String,Map<String,Object>>{

    public void put(String key,String c,Object v) {
        if(!this.keySet().contains(key)) {
            this.put(key, new HashMap<String,Object>());
        }
        Map<String,Object> obj = this.get(key);
        obj.put(c, v);
    }
    public static void main(String[]  args) {
        MyMap map = new MyMap();

        map.put("1","2","3");
        map.put("1","3","3");
        System.out.println(map);
    }
}

始终使用bean类处理实体

我想输入数据,比如--map.put(“company1”、“client1”、object1)。并且应该在内部将其放入适当的组中。此解决方案对您不起作用@用户
public class MyMap extends HashMap<String,Map<String,Object>>{

    public void put(String key,String c,Object v) {
        if(!this.keySet().contains(key)) {
            this.put(key, new HashMap<String,Object>());
        }
        Map<String,Object> obj = this.get(key);
        obj.put(c, v);
    }
    public static void main(String[]  args) {
        MyMap map = new MyMap();

        map.put("1","2","3");
        map.put("1","3","3");
        System.out.println(map);
    }
}
{1={2=3, 3=3}}