双层for循环读取数据

用途:根据父类不同的id查询出其对应的不同的子类

内容:不仅包括父类的信息,其不同的子类信息一并查询出来

格式:for(Map<String, Object> 要遍历的集合的重命名:要遍历的集合){

    //得到父类的id传给子类

     List<Map<String, Object>> son = hunterAllDao.getHunterSubjectList2(Long.valueOf(parent.get("id").toString()));

    //循环遍历子类

    for(Map<String, Object> map : son){

      //要处理的数据

    }

    //将子类查询出来的数据put进父类中

    parent.put("son", son);

   }

具体案例:

// 2:父级栏 专题分类查出所对应的专题名称
        List<Map<String, Object>> hunterSubjectList = hunterAllDao.getHunterSubjectListParent2();
        for (Map<String, Object> parent : hunterSubjectList) {
            // 专题分类查出所对应的专题名称并取出ID
            List<Map<String, Object>> son = hunterAllDao.getHunterSubjectList2(Long.valueOf(parent.get("id").toString()));

            for (Map<String, Object> map : son) {
                Object level = map.get("level") == null ? "" : map.get("level");
                Integer valueOf = Integer.valueOf(level.toString());
                if (valueOf == 0) {
                    map.put("level", "大众猎头");
                }
                if (valueOf == 1) {
                    map.put("level", "高级猎头");
                }
                if (valueOf == 2) {
                    map.put("level", "专家猎头");
                }
                if (valueOf == 3) {
                    map.put("level", "顶级猎头");
                }
                String pro = map.get("provincename") == null ? "" : map.get("provincename").toString();
                String city = map.get("cityname") == null ? "" : map.get("cityname").toString();
                String country = map.get("countyname") == null ? "" : map.get("countyname").toString();
                if ("北京市".equals(pro) || "天津市".equals(pro) || "上海市".equals(pro) || "重庆市".equals(pro)) {
                    map.put("position", pro + country);// 服务的区域
                } else {
                    map.put("position", pro + city);
                }
            }

            parent.put("son", son);
        }

原文地址:https://www.cnblogs.com/wangzn/p/6748445.html