遍历Map<String,Map<String,Object>>
时间: 2023-11-18 09:54:57 浏览: 108
遍历Map<String,Map<String,Object>>可以使用Java中的for-each循环和Map的entrySet()方法。具体步骤如下:
1. 使用entrySet()方法获取Map中每个键值对的映射关系。
2. 遍历entrySet()返回的Set集合,对于每个映射关系,获取键和值。
3. 对于值为Map<String,Object>类型的键值对,可以使用递归方式遍历内部的Map。
示例代码如下:
```
Map<String, Map<String, Object>> map = new HashMap<>();
// 添加键值对
for (Map.Entry<String, Map<String, Object>> entry : map.entrySet()) {
String key = entry.getKey();
Map<String, Object> valueMap = entry.getValue(); // 遍历内部Map
for (Map.Entry<String, Object> valueEntry : valueMap.entrySet()) {
String innerKey = valueEntry.getKey();
Object innerValue = valueEntry.getValue();
// 处理内部Map的键值对
}
}
```
相关问题
Freemarker遍历map<String,Map<String,Object>>
你可以使用Freemarker的内置指令`<#list>`来遍历一个`map<String,Map<String,Object>>`。具体步骤如下:
1. 使用`<#list>`指令遍历外层的`map`,并使用`<#list>`指令遍历内层的`map`,示例代码如下:
```
<#list map?keys as key>
<#list map[key]?keys as subKey>
${key}.${subKey}: ${map[key][subKey]}<br>
</#list>
</#list>
```
2. 在模板中使用`${key}`获取外层`map`的键值,使用`${subKey}`获取内层`map`的键值,`${map[key][subKey]}`获取`map`内存储的值。
这样就可以方便地遍历并获取`map<String,Map<String,Object>>`中的数据。
如何遍历 List<Map<String, Object>>
可以使用 foreach 循环遍历 List,再使用 Map 的 keySet() 方法遍历 Map 中的键值对。
示例代码:
```
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("id", 1);
map1.put("name", "Alice");
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("id", 2);
map2.put("name", "Bob");
list.add(map2);
for (Map<String, Object> map : list) {
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
}
```
输出结果:
```
id: 1
name: Alice
id: 2
name: Bob
```
阅读全文