日期:2014-05-18  浏览次数:20688 次

java中如何遍历map中有嵌套的list
代码如下:
package web;

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

public class Test {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Detail> list=new ArrayList<Detail>();
List<Detail> list2=new ArrayList<Detail>();

Detail d1=new Detail();
d1.setFCreateTime("CreateTime1");
d1.setFDefaultValue("1");
d1.setFDesc("desc1");
d1.setFIsUpdate("FIsUpdate1");
d1.setFParamKey("ParamKey1");
d1.setFParamName("ParamName1");
d1.setFTypeNum("TypeNum1");

Detail d2=new Detail();
d2.setFCreateTime("CreateTime2");
d2.setFDefaultValue("1");
d2.setFDesc("desc2");
d2.setFIsUpdate("FIsUpdate2");
d2.setFParamKey("ParamKey2");
d2.setFParamName("ParamName2");
d2.setFTypeNum("TypeNum2");

Detail d3=new Detail();
d3.setFCreateTime("CreateTime3");
d3.setFDefaultValue("1");
d3.setFDesc("desc3");
d3.setFIsUpdate("FIsUpdate3");
d3.setFParamKey("ParamKey3");
d3.setFParamName("ParamName3");
d3.setFTypeNum("TypeNum3");

Detail d4=new Detail();
d4.setFCreateTime("CreateTime4");
d4.setFDefaultValue("1");
d4.setFDesc("desc4");
d4.setFIsUpdate("FIsUpdate4");
d4.setFParamKey("ParamKey4");
d4.setFParamName("ParamName4");
d4.setFTypeNum("TypeNum4");

Detail d5=new Detail();
d5.setFCreateTime("CreateTime5");
d5.setFDefaultValue("1");
d5.setFDesc("desc5");
d5.setFIsUpdate("FIsUpdate5");
d5.setFParamKey("ParamKey5");
d5.setFParamName("ParamName5");
d5.setFTypeNum("TypeNum5");

list.add(d1);
list.add(d2);
list.add(d3);

list2.add(d4);
list2.add(d5);

List<TypeInfoList> listTypeInfos=new ArrayList<TypeInfoList>();
TypeInfoList typeInfoList=new TypeInfoList();
typeInfoList.setFTypeName("fenlei1");
typeInfoList.setFTypeNum("001");
typeInfoList.setLists(list);


TypeInfoList typeInfoList2=new TypeInfoList();
typeInfoList2.setFTypeName("fenlei2");
typeInfoList2.setFTypeNum("002");
typeInfoList2.setLists(list2);

listTypeInfos.add(typeInfoList);

listTypeInfos.add(typeInfoList2);

Map<String, Object> map=new HashMap<String, Object>();
map.put("rows", 5);
map.put("total", 10);
map.put("listTypeInfos", listTypeInfos);
//request.setAttribute("map", map);
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key=(String) it.next();
System.out.println("key="+key);
if(key.equals("listTypeInfos")){//这里的list是嵌套的该如何遍历呢?   
}
}

}

}

}


------解决方案--------------------
package cn.lsh.test;

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

public class Test {
public static void main(String[] args) {
Map<String, List<Metro>> map = new