说一下我们要达到的目的
有一个List<Menu>,其中Menu{id, parentId, children, value},全部Menu的ID都大于0,一层Menu的parentId=0。初始时全部Menu的children都为null,请写一个方法buildTree(List<Menu>), 创建一个Menu为root,将List<Menu>整理成树状结构。
我们都知道用以前for循环都可以实现,但是今夕是何年,都快2025年了是时候更新你的Java技术了,让代码子弹速度更快些,好,我们就利用steam流来实现吧
首先准备好菜单实体类(实际按照你们的需求来改动,这个例子只配好基本的属性)
/**
* 菜单实体类
*/
class Menu {
Integer id;
Integer parentId;
List<Menu> children;
String value;
public Menu(Integer id, Integer parentId, String value) {
this.id = id;
this.parentId = parentId;
this.children = null;
this.value = value;
}
}
核心递归树的方法<