List<Map<String,Object>>使用Java代码遍历以获取String,Object的值!

不多bb直接上代码:

package testJava;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class TestListMap {

public static void main(String[] args) {
// TODO Auto-generated method stub

List<Map<String,Object>> lstp = new ArrayList<>();

Map<String,Object> map1 = new HashMap<>();
map1.put("11", "aa");
map1.put("21", "ab");
map1.put("13", "cc");

Map<String,Object> map2 = new HashMap<>();
map2.put("18", "ae");
map2.put("26", "bt");
map2.put("23", "cd");

lstp.add(map1);
lstp.add(map2);

//第一种方式foreach遍历,先遍历listmap,然后再遍历map,通过key拿value
System.out.println("**********foreach遍历***********");
for(Map<String,Object> map : lstp){
for(String key : map.keySet()){
System.out.println(key+":"+map.get(key));
}
}
//普通for循环;
System.out.println("**********普通for循环遍历***********");
for(int i=0;i<lstp.size();i++) {
Map<String,Object> map = lstp.get(i);
Iterator<String> it = map.keySet().iterator();
while(it.hasNext()) {
String key = it.next();
Object value = map.get(key);
System.out.println(key+":"+value);
}
}

//其他方式:
System.out.println("**********其他遍历方式***********");

for (Map<String, Object> map : lstp) {
for (Map.Entry<String, Object> m : map.entrySet()) {
System.out.print(m.getKey() + ":");
System.out.println(m.getValue());
}
}

}

}

 

 

控制台输出如下:

**********foreach遍历***********
11:aa
13:cc
21:ab
23:cd
26:bt
18:ae
**********普通for循环遍历***********
11:aa
13:cc
21:ab
23:cd
26:bt
18:ae
**********其他遍历方式***********
11:aa
13:cc
21:ab
23:cd
26:bt
18:ae

posted @ 2020-06-12 15:05  JasonTsui  阅读(4931)  评论(0编辑  收藏  举报