JAVA循环取值Map<Map<String,List>,Map<String,List>> map = New HashMap()
前言:在对接Api时,对方传输的是上述集合,实现map与list对应输出。
案例:
Map<Map<String,List>,Map<String,List>> map = new HashMap();
List list = new ArrayList<>();
list.add(“A,V,C”);
list.add(“B”);
Map<String,List> map1 = new HashMap<>();
map1.put(“asks”,list);
Map<String,List> map2 = new HashMap<>();
List list1 = new ArrayList<>();
list1.add(“A,V,C,J,L,O”);
list1.add(“B,S,C,V,J,K”);
map2.put(“ablic”,list1);
map.put(map1,map2);
for (Map.Entry<Map<String,List>,Map<String,List>> vo :map.entrySet()){
vo.getKey();
vo.getValue();
for (Map.Entry<String,List> v : vo.getKey().entrySet()){
v.getKey();
v.getValue();
for (Object object : v.getValue()){
//第一个map的K和Y
System.out.println( “K”+"="+v.getKey()+" “+“Y”+”="+object);
}
}
for (Map.Entry<String,List> v : vo.getValue().entrySet()){
v.getKey();
v.getValue();
//第二个map的K和Y
for (Object object : v.getValue()){
System.out.println( “K”+"="+v.getKey()+" “+“Y”+”="+object);
}
}
}
遍历出来的结果图:
小结:在遇到这种复杂的集合时,第一眼看过去确实感觉要得到自己想要的结果,有点困难,当然大佬随意,总之当我们遇到这种集合先要看清楚里面的数据结构,在一步步慢慢的拆分。