我创建了一个嵌套的HashMap,如下所示
Map<String,String> timeStamptoValues = new HashMap<String, String>();
Map<Map<String,String>,String> timeStampvaluesToStatistics = new HashMap<Map<String,String>, String>();
Map<Map<Map<String,String>,String>,Long> timeStampvaluesStatisticsTovalues = new HashMap<Map<Map<String,String>,String>,Long>();
timeStamptoValues .put("xyz","hello");
timeStampvaluesToStatistics.put(timeStamptoValues,"COUNT");
timeStampvaluesToStatistics.put(timeStamptoValues."MIN");
timeStampvaluesToStatistics.put(timeStamptoValues."MAX");
我面临两个问题
当我将timeStampvaluesToStatistics的值插入到同一个键时,它将使用最新的条目覆盖值。那我该怎么样了?我尝试在timeStampvaluesToStatistics中创建一个List来代替String。但后来我陷入了下一部分,为每个“COUNT”或“MAX”或“MIN”添加值?
现在我想基于“COUNT”或“MIN”或“MAX”将值设置为timeStampvaluesStatisticsTovalues。
我该怎么办?
答案 0 :(得分:0)
要制作多图(X
到Collection<Y>
的地图),您只需执行以下操作:
Map<X, List<Y>> (or Set<Y> or whatever).
当您添加元素时,只需查询现有值。如果列表存在,则将值添加到其中。如果列表不存在,则创建一个新列表,添加新值,然后将新列表放入地图中。
答案 1 :(得分:0)
不确定我是否理解了这个问题...但是如果你使用Key a String / Long和一个值Map会怎样? 这似乎很奇怪:
Map<Map<String,String>,String> timeStampvaluesToStatistics = new HashMap<Map<String,String>, String>();
Map<Map<Map<String,String>,String>,Long> timeStampvaluesStatisticsTovalues = new HashMap<Map<Map<String,String>,String>,Long>();
地图就像一本字典,根据它的定义搜索一个单词对我来说似乎不正确。 换句话说,我认为你的方法感觉不正确。