List Inlst=originManage.find("select code,chdescirbe from Origin where code like '37%' and code=substr(code,1,4)||'00' order by tabIndex desc");List Outlst=originManage.find("select code,chdescirbe from Origin where code not like '37%' and code=substr(code,1,2)||'0000' order by tabIndex desc");

并入一个List中
List Originlst=new ArrayList(); 
Originlst.add(Inlst);
Originlst.add(Outlst);希望把合并后的List再放入一个Map,然后页面中遍历用。

解决方案 »

  1.   

    正解,
    生成一个map对象
    遍历Originlst的时候,往map中加数据
      

  2.   

    抛出异常:
    java.lang.ClassCastException: java.util.ArrayList incompatible with com.sdbys.service.dict.origin.DictOrigin遍历代码如下:
    for(int i=0;i<Originlst.size();i++){   
         DictOrigin origin = (DictOrigin) Originlst.get(i);
         origin.getCode();
                      origin.getDescribe();
    }
      

  3.   

    Originlst 是有两个list对象啊...
    两个list对象下面才是 DictOrigin
      

  4.   

    抛出异常: 
    java.lang.ClassCastException: java.util.ArrayList incompatible with com.sdbys.service.dict.origin.DictOrigin
    类型转换异常,看看DictOrigin这个对象跟你的sql取出来的是否一致,也只有那2个元素。
      

  5.   

    List Inlst=originManage.find("select code,chdescirbe from Origin where code like '37%' and code=substr(code,1,4)||'00' order by tabIndex desc"); List Outlst=originManage.find("select code,chdescirbe from Origin where code not like '37%' and code=substr(code,1,2)||'0000' order by tabIndex desc"); 每个list里面存放其实不是Origin实体,而是Obejct[],你只有将Object[]转换为实体才行,如hql语句
     select new Origin(o.code,o.chdescirbe from Origin as o where code like '37%' and code=substr(code,1,4)||'00' order by tabIndex desc)
    并且在实体类中存在Origin(code,chdescirbe)的构造函数,才能转换为相应的实体。
      

  6.   

    List Inlst=originManage.find("from DictOrigin where code like '37%' and code=substr(code,1,4)||'00' order by tabIndex desc");List Outlst=originManage.find("from DictOrigin where code not like '37%' and code=substr(code,1,2)||'0000' order by tabIndex desc"); //放入map1
    Map m1 = new HashMap();
    Iterator t=Inlst.iterator();
    while(t.hasNext()){
    DictOrigin origin = (DictOrigin) t.next();
    m1.put(origin.getCode(),origin.getDescribe());
    }//放入map2
    Map m2 = new HashMap();
    Iterator t2=Outlst.iterator();
    while(t2.hasNext()){
    DictOrigin origin = (DictOrigin) t2.next();
    m2.put(origin.getCode(),origin.getDescribe());
    }

    //合并两个Map
    m2.putAll(m1);我只做到这样实现,先合并List再放入Map,不知道如何实现?请教各位?