list集合 树 三层集合嵌套 {…{…{…}}}

查询一级分类所有 和一级分类下第一个子元素的二级集合 和第一个分类下的所有三级集合(用于手机端的商品分类 )

 //记录分类编号Long cateId =null;List result =new ArrayList<>();//一级分类集合List cates =null;if (mobcatebarId ==null) {cates =mobRepository.selectOneMobCate();}else {cates =mobRepository.selectOneMobCate(mobcatebarId);}//获取一级分类集合中首个分类的编号if (cates !=null) {//一级分类不存在时的异常处理if(cates.size() ==0){throw new ServiceException(ErrorCodeDef.GOODS_CATEGORY_NOT_EXISTING,"商品分类不存在");}//设置返回的一级分类详细cates.forEach(cate -> {MobCateBarVo mobCateBarVo =new MobCateBarVo();BeanUtils.copyProperties(cate,mobCateBarVo);result.add(mobCateBarVo);});if (mobcatebarId ==null) {//默认第一个分类的编号cateId = cates.get(0).getCateBarId();}else {//赋值cateId = mobcatebarId;}//二级子分类集合List cateBars =mobRepository.queryUsingMobCateBar(cateId);List vos =new ArrayList<>();//根据二级子分类集合,分别获取每个二级子分类集合的三级分类cateBars.stream().map(cateTwo-> {//集合转类型MobCateBarVo subVo2 =new MobCateBarVo();BeanUtils.copyProperties(cateTwo,subVo2);//记录三级分类编号Long cateIds = cateTwo.getCateBarId();//获取三级分类集合List mobCateBars =mobRepository.queryUsingMobCateBar(cateIds);List mobVos =new ArrayList<>();//设定二级分类所有三级分类mobCateBars.stream().map(cateThree ->{MobCateBarVo subVo3 =new MobCateBarVo();BeanUtils.copyProperties(cateThree,subVo3);return subVo3;}).forEach(mobVos::add);subVo2.setChilds(mobVos);return subVo2;}).forEach(vos::add);// 将取得的二级分类和三级分类设定到一级分类中if (cates !=null) {result.get(0).setChilds(vos);}//返回一级二级三级分类的树型结构return result;

list集合 树 三层集合嵌套 {..{..{..}}}相关推荐

  1. Map集合及三层嵌套

    Map集合 一.Map集合介绍 二.案例:Map集合三层嵌套 三.TreeMap排序 一.Map集合介绍 1.定义:无序,以键值(key,value)对的形式存储数据,键唯一,值不唯一; 注意:    ...

  2. 最完整的集合概述:集合的概述和集合的继承体系、Collection集合 、List集合、数据结构、LinkedList集合、set-泛型-树、Map、HashMap、可变参数、创建不可变的集合

    二.Collection集合      注意点:  增强for的快捷方式:  三.List集合   指定索引获取元素可以跟普通for结合起来遍历这个集合 四.数据结构: (1)栈 :  (2)队列: ...

  3. java集合——树集(TreeSet)+对象的比较

    [0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--树集(TreeSet)+对象的比较 的相关知识: 0.2) for full ...

  4. Python各种推导式(列表推导式,字典推导式,集合推导式,嵌套列表推导式)

    一.列表推导式 Python官网列表推导式部分 列表推导式提供了一种创建list的简便方法.应用程序创建列表时,列表中的元素来源于其他序列.可迭代对象或创建的一个满足一定条件的序列. 基本格式: ​[ ...

  5. 学习Java第二十五天--集合框架之集合嵌套案例

    Map集合和其它集合嵌套的案例.以及Map集合和Map集合嵌套的案例 案例1:Map和ArrayList的嵌套 案例2:Map和Map的嵌套 案例1:Map和ArrayList的嵌套 import j ...

  6. Java基础(21)asList()方法、集合嵌套、Set集合、HashSet集合、LinkedHashSet集合、TreeSet集合

    1. asList()方法 1. Arrays工具类的asList(T - t)方法的使用:将数组转化成集合 2. 传进来基本类型数组和引用类型数组的差别 public class TestDemo0 ...

  7. 数据集合 oracle,oracle集合

    oracle集合 1初识集合 集合是oracle中的一种数据类型 存放一组数据类型相同的数据 集合组成 由下标和值组成 下标的类型包含数字(整数,pls_integer,binary_integer) ...

  8. python集合运算符_Python 集合、字典、运算符

    先区分一下序列类型和散列类型: 序列类型:list.string.tuple,他们中的元素是有序的. 散列类型:set.dict,他们中的元素无序的.(注意:python3.7.0开始字典变成&quo ...

  9. python3 集合运算_Python 集合与集合运算

    了解 Python 集合: 它们是什么,如何创建它们,何时使用它们,什么是内置函数,以及它们与集合论操作的关系 集合. 列表与元组 列表(list)和元组(tuple)是标准的 Python 数据类型 ...

最新文章

  1. Linux——vim程序编辑器
  2. 分布式系统框架Spring+Redis+SSO视频课程
  3. leetcode414. 第三大的数
  4. javscript插件汇总
  5. 负载均衡mysql的使用_使用负载均衡集群集化 MySQL - Azure Virtual Machines | Microsoft Docs...
  6. Flex 页面跳转 四种方法
  7. 最简单判断系统大小端
  8. 浙江学计算机怎么选课,新高考下浙江孩子应怎么选课(专业人士建议)
  9. If you insist running as root, then set the environment variable RUN_AS_USER=root before running thi
  10. 北京大学智能学院成立!AI视觉泰斗朱松纯教授任院长
  11. ZOC7 for Mac(终端仿真器)
  12. 台式计算机怎么加一个硬盘,台式机加装一个机械硬盘图解 但建议直接在windows下...
  13. Fast Reed-Solomon Interactive Oracle Proofs of Proximity学习笔记
  14. *Linux学习笔记
  15. Cunti 使用简介
  16. spring mvc Discus
  17. matlab 画bar柱状图与饼状图阴影填充
  18. Android Camera开发(一)之基础知识
  19. php设计模式之接口
  20. jsp代码实例第130课

热门文章

  1. Microsoft Exchange Server 2007: Tony Redmond's Guide to Successful Implementation
  2. 基于J2EE的科研项目管理系统设计与实现
  3. 《自然语言处理》的相关资源
  4. vim visual block模式
  5. OpenHD---低成本开源高清数字图传
  6. android卸载保留数据,android在卸载应用程序后保留数据库
  7. C++一本通题库1005
  8. 【Elixir】 bcrypt_elixir 在 windows 中的 Compile 错误
  9. 智慧城市UE4 奥特曼教程
  10. 卉原中学2021年高考成绩查询,卉原中学2021年宿舍条件