当前位置: 代码迷 >> J2EE >> 数据存储到MAP解决方法
  详细解决方案

数据存储到MAP解决方法

热度:51   发布时间:2016-04-22 01:23:14.0
数据存储到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);        }
  相关解决方案