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 怎么样写,能写出程序更好.

解决方案 »

  1.   

    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;
        }这是我取数据的代码段
      

  2.   

    用hashtable。
    Hashtable ht = new Hashtable();
    ht.put("ZD20060817115579", "组织政策");
    .
    .
    Object obj = ht.get("ZD20060817115579");修改一下就行了。
      

  3.   

    用正则表达式,匹配itemname即可。
      

  4.   


    for(int i=0;i<options.size();i++){
    Map map = (Map)options.get(i); 
    System.out.println(map.get("itemname"));
    }
      

  5.   

    如果我想根据取出的itemname跟一个给定的"type"比较,结果相同就取出itemname对应的itemid号,这样的程序怎么写?
      

  6.   

    for(int i=0;i<options.size();i++){
    Map map = (Map)options.get(i); 
                               if("type".equals(map.get("itemname")))
    System.out.println(map.get("itemid"));
    }
      

  7.   

    不要直接system。out,那样的话他会自动调用其tostring方法
    你应该out.print他的值,而不是他本身
      

  8.   

    存进LIST,然后list.get(你要取的行数)就OK了