use*_*105 8 java nested hashmap
我想创建一个嵌套的HashMap,它将接受float类型的两个键,并给出Integer类型的值.
public static HashMap<Float, HashMap<Float, Integer>> hashX = new HashMap<Float,HashMap<Float, Integer>>();
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法来放置/获取像普通的HashMap那样的值
hashX.put(key, value);
hashX.get(key);
Run Code Online (Sandbox Code Playgroud)
或者它是一个必须使用的更复杂的方法?我在网上搜索了一个解决方案,但我发现很难找到适用于我的解决方案.任何帮助,将不胜感激!
isv*_*all 10
Map<Float, Map<Float, Integer>> map = new HashMap<>();
map.put(.0F, new HashMap(){{put(.0F,0);}});
map.put(.1F, new HashMap(){{put(.1F,1);}});
map.get(.0F).get(.0F);
Run Code Online (Sandbox Code Playgroud)
您必须将get()嵌套映射从外部映射中取出,然后调用可以调用put()andget()就可以了
float x = 1.0F;
HashMap<Float, Integer> innerMap = hashX.get(x);
if (innerMap == null) {
hashX.put(x, innerMap = new HashMap<>()); // Java version >= 1.7
}
innerMap.put(2.0F, 5);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36204 次 |
| 最近记录: |