日期:2014-05-19  浏览次数:20749 次

数据存储到MAP
我上面传了个数据数据里面有10来个数据
String choise [] = request.getParameterValues("choise");
Java code

                             while(rs.next()){
                String stc="";
                obj = new QueryObject();
                obj.setLh(rs.getString("lh"));
                obj.setPm(rs.getString("pm"));
                obj.setGg(rs.getString("gg"));
                obj.setGysh(rs.getString("gysh"));
                obj.setSl(rs.getString("shl"));
                obj.setDanj(rs.getString("danj"));
                obj.setZongj(rs.getString("zongj"));
                obj.setUnit(rs.getString("unit"));
                obj.setCplb(rs.getString("lbl"));
                obj.setDate(rs.getString("indate"));
                              
                             //要在下面判断我上面的数组数据是否与下面的stc为一样为一样的就存到map里面
                             //MAP的key为数组参数 value为下面的list 这样怎么判断好?
                             //sql 进行了ORDER by lb asc
 
                stc=rs.getString("lb");
                System.out.println(stc);
                obj.setCplb(stc);
                list.add(obj);
            }



------解决方案--------------------
探讨
Java code/*
我的 lb 里面的数据是这样的
lb
pda
pda
pda
pbc
pdc
pdc
有10多种lb我想通过判断存到Map里 Map的key为 类别名如pda, value为lb是pda的所用值 以list存
如map.put("pda",list);这样在while(rs.next())怎么判断才好!*/

------解决方案--------------------
Java code

        HashMap<String, List<QueryObject>> results = new HashMap<String, List<Object>>(); // KEY:lb
        // VALUE:QueryObject
        while (rs.next()) {
            String stc = "";
            obj = new QueryObject();
            obj.setLh(rs.getString("lh"));
            obj.setPm(rs.getString("pm"));
            obj.setGg(rs.getString("gg"));
            obj.setGysh(rs.getString("gysh"));
            obj.setSl(rs.getString("shl"));
            obj.setDanj(rs.getString("danj"));
            obj.setZongj(rs.getString("zongj"));
            obj.setUnit(rs.getString("unit"));
            obj.setCplb(rs.getString("lbl"));
            obj.setDate(rs.getString("indate"));
            obj.setCplb(rs.getString("lb"));
            List<Object> list = null;
            if (results.containsKey(obj.getCplb())) {
                list = results.get(obj.getCplb());
            } else {
                list = new ArrayList<Object>();
                results.put(obj.getCplb(), list);
            }
            list.add(obj);
        }