以下代码如何通过stream来快速处理,希望可以学到一些东西!

需求:一级菜单下的二级菜单中填入按钮数据,如何优化这段代码?

//组装button教据
levelData.forEach(item->{
  item.getChildren().forEach(node->{
    dictMap.forEach(key->{
      desktop.forEach(button->{
        if(key.getId().equals(node.getName())){
          if(button.getText().equals(key.getName())){
            if("下发设备需求填报".equals(button.getText())){
              TreeNode treeNode = new TreeNode():
              treeNode.setText("下发设备需求填报");
              treeNode.setId("createdDemand");
              node.setTreeNodes(treeNode);
            }else if("下发资产盘点填报".equals(button.getText())){
              TreeNode treeNode = new TreeNode();
              treeNode.setText("下发资产盘点填报");
              treeNode.setId("createdAssetInventory");
              node.setTreeNodes(treeNode);
            }else {
              node.setTreeNodes(button);
            }
          }
        }
     });
    });
  });
});

这个和steam遍历基本上是一样的