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

时间:2018-07-15 20:54:08

标签: java

我的地图就像-

Map<String,Map<string,Object>

样本数据---

>  mycompany1----1st client----clientobject1
>     mycompany1----2nd client---clientobject2
>     mycompany2----1st client---client object 3
>     mycompany2----2nd client---client object 4

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

1 个答案:

答案 0 :(得分:-1)

以下代码可能会为您提供帮助,该方法采用了put方法并带有3个参数,

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}}

始终使用bean类来处理实体。