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
像这样。所以我需要按第一个键(“公司名称”)对数据进行分组。我也想将这些数据存储到一些缓存中。但是如何将数据放入该地图中,以便以分组方式存储。谷歌多地图分组数据,但它不是二维地图。
解决方案
以下代码可能会对您有所帮助,它采用 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 类来处理实体。
推荐阅读
- javascript - jquery文件上传完成进度太快
- javascript - 找不到模块“react-tilt”的声明文件
- r - 在 R Shiny 中过滤另一个长度未知的输入的输入
- java - 如何在不下载整个文件的情况下获取 S3 对象的 CSV 标头?
- python - Yammer REST API
- build - 构建奇点图像时 pip 出错
- javascript - 引导 4 卡
- python - Pythonanywhere 在/blog 提供 NOREVERSEMATCH 但本地主机运行良好
- linux - 如何在不增加 RAM 的情况下防止 oom-kill
- c# - 在两个输入中获取当前月份的第一天和最后一天?