日期:2014-05-20  浏览次数:20638 次

急,map的用法?
public   List   getTypeData(
        HttpServletRequest   req,
                        HttpServletResponse   rep,
                        IErrorHandler   errorHandler,
                        IMessageHandler   messageHandler){  
        List   list   =   DictItemHandle.listDictItemByTypeid(DictHandle.PROCESS_RESOURCE_TYPE);
        Vector   options   =   new   Vector();
for(int   i=0;i <list.size();i++){
Map   map   =   (Map)list.get(i);  
options.add(map);
}
System.out.println( "options======== "+options);
req.setAttribute( "restypeoptions ",   options);
return   list;
        }
下面是输出的结果:
options========[{itemname=组织政策,   itemid=ZD20060817115579},
itemname=规程集合,   itemid=ZD2006081711557969658591123086256}
,   itemid=ZD2006081711557970270931123086256},   {itemname=指南
1711557970465151123086256},   {itemname=工具集合,   itemid=ZD20
23086256},   {itemname=检查单集合,   itemid=ZD20060817115579709
mname=培训集合,   itemid=ZD2006081711557971094371123086256}]
这是我输出的数据集合,怎么样才能把一条记录的itemname取出来,例如:{itemname=组织政策,   itemid=ZD20060817115579}的itemname怎么取,   用list或map   怎么样写,能写出程序更好.

------解决方案--------------------
如果你知道Map 的key固定直接用Map 的Object get(Object key)方法就可以取到key对应的值,如果你要取key本身(例如你的itemname)可以使用Iterator
例如:
Map m=new HashMap();
Set keys=m.keySet();
Iterator i=keys.iterator();
while(i.hasNext())
{
String key=(String)i.next();//取出第一个元素的key值
String value=(String)m.get(key);//取出key对应的value
}
------解决方案--------------------
windstear 正解