如何迭代像List <Map <String,Object >>这样的列表

jai*_*jai 8 java foreach

我有一个返回的方法List<Map<String,Object>>.

如何迭代列表 List<Map<String,Object>>

Whi*_*g34 23

听起来你正在寻找这样的东西:

List<Map<String, Object>> list; // this is what you have already

for (Map<String, Object> map : list) {
    for (Map.Entry<String, Object> entry : map.entrySet()) {
        String key = entry.getKey();
        Object value = entry.getValue();
    }
}
Run Code Online (Sandbox Code Playgroud)


tim*_*ooo 7

List<Map<String, Object>> list = getMyMap();    
for (Map<String, Object> map : list) {
    for (Map.Entry<String, Object> entry : map.entrySet()) {
        System.out.println(entry.getKey() + " - " + entry.getValue());
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 循环遍历地图列表
  2. 处理地图条目


Am1*_*3zA 6

使用 java 1.8 (8) 你可以将其重写为:

list.forEach(item -> 
                item.forEach((k, v) -> System.out.println(k + ": " + (String)v)
    );
Run Code Online (Sandbox Code Playgroud)


小智 5

我正在向您发布一个简单的示例List<Map<String,Object>>

    public static void main(String[] args){

    Map<String,Object> map1 = new HashMap<>();
    map1.put("Map1 Key1", (Object) "Map1 value1");
    map1.put("Map1 Key2", (Object) "Map1 value2");

    Map<String,Object> map2 = new HashMap<>();
    map2.put("Map2 Key1", (Object) "Map2 value1");
    map2.put("Map2 Key2", (Object) "Map2 value2");

    List<Map<String,Object>> list = new ArrayList<>();
    list.add(map1);
    list.add(map2);

    list.stream().forEach(mapsData->{
        mapsData.entrySet().forEach(mapData->{
            System.out.println("Key:"+mapData.getKey()+ " Value:"+mapData.getValue());
        });
    });
}
Run Code Online (Sandbox Code Playgroud)


npi*_*nti 2

这应该有效:

List<Map<String, Object>> list = ...

for (Map<String, Object> map : list)
{
     ...
}
Run Code Online (Sandbox Code Playgroud)

您还可以在 for 循环中使用迭代器get方法来访问 List 中的元素。