wuxianzhenjia
无限真假
采纳率0%
2017-05-20 08:14 阅读 1.8k

Java递归,查询与搜索相关的全部的数据

图片说明

每一个门店都是有id和parentId,只是总店的parentId为null而已,我要查询其中一个门店,假如说,我要查询分店3,我能把与门店3有关联的门店总门店到分店6都能查询出来。用递归的方式来查询。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • weixin_38780256 deluhorse 2017-05-20 14:59

    看不懂你的问题在哪里?

    点赞 评论 复制链接分享
  • a350062174 a350062174 2017-05-22 02:25

    // 首先根据其中一个门店,查到他的总们店, 然后递归取出总们店下所有子门店

    public static void main(String[] args) {
    Store current = new Store();
    while(current.parent != null){
    current=current.parent;
    }
    findStore(current);
    }
    public static List findStore(Store s){
    List re = new ArrayList<>();
    re.add(s);
    if(s.child != null){
    for (Store c: s.child){
    re.addAll(findStore(c));
    }
    }
    return re;
    }
    static class Store {
    Integer id ;
    Store parent;
    List child;
    }

    点赞 评论 复制链接分享
  • sunny_lyx sunny_lyx 2019-04-16 17:03
    /**
         * 描述:查询所有部门
         * @return 返回结果集
         */
        @Override
        public List<DepartmentPojo> queryAllDepartment() {
            Integer depParentId=0;
            List<DepartmentPojo> list = departmentMapper.queryAllDepartment(depParentId);
            for (int i = 0; i < list.size(); i++) {
                setChildrens(list.get(i));
            }
            return list;
        }
    
        /**
         * 描述:递归所有子部门以及部门的角色
         * @param children
         */
        public void setChildrens(DepartmentPojo children){
            children.setChildren(departmentMapper.queryAllDepartment(children.getDepId()));
            children.setRolePojoList(departmentMapper.queryDepartmentRole(children.getDepId()));
            if(children.getChildren().size()!=0){
                for (int i = 0; i < children.getChildren().size(); i++) {
                    setChildrens(children.getChildren().get(i));
                }
            }
        }
    
    点赞 评论 复制链接分享

相关推荐