List<Map<String,String>>遍历的方法:
这种场景用于json字符串为如下形式:
{
"neId": "3",
"cardId": "/ne=3/shelf=1/slot=5/card=1.1",
"name": "/ne=3/shelf=1/slot=5/card=1.1/port=3#portType=4996",
"transmissionParametersList": [{
"layerRate": "LR_Ethernet"
}]
}
对应的数据结构为List<Map<String,String>> 。
有如下几种循环遍历的方法:仅供参考。
public class Test {
public static void main(String[] args) {
List<Map<String, String>> listMaps = new ArrayList<Map<String, String>>();
Map<String, String> map1 = new HashMap<String, String>();
map1.put("aaa", "111");
map1.put("bbb", "222");
map1.put("ccc", "333");
listMaps.add(map1);
Map<String, String> map2 = new HashMap<String, String>();
map2.put("11", "aa");
map2.put("22", "bb");
map2.put("33", "cc");
listMaps.add(map2);
//方式1:
for (Map<String, String> map : listMaps ) {
for (String s : map.keySet()) {
System.out.print(map.get(s) + " ");
}
}
System.out.println();
System.out.println("-----------------------------");
//方式2:
for (int i = 0; i < listMaps.size(); i++) {
Map<String, String> map = listMaps.get(i);
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String string = (String) iterator.next();
System.out.println(map.get(string));
}
}
System.out.println("-----------------------------");
//方式3:
for (Map<String, String> map : listMaps) {
for (Map.Entry<String, String> m : map.entrySet()) {
System.out.print(m.getKey() + " ");
System.out.println(m.getValue());
}
}
System.out.println("-----------------------------");
}
}