首页 > 解决方案 > 如何将元素放入用作缓存的分组二维地图中

问题描述

我的地图就像-

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

像这样。所以我需要按第一个键(“公司名称”)对数据进行分组。我也想将这些数据存储到一些缓存中。但是如何将数据放入该地图中,以便以分组方式存储。谷歌多地图分组数据,但它不是二维地图。

标签: java

解决方案


以下代码可能会对您有所帮助,它采用 put3 个参数的方法,

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 类来处理实体。


推荐阅读