场景说明:
在项目实际过程中,经常遇见二维表(数据库表)为树形结构存储数据,但是递归查询需要好多次,特别是数据量大时,变得非常不合适~
以下是项目中,将列表转换组装为树形结构的代码共享~
平铺的数据:
![40c0c9115938776b92046891fa7a4711.png](https://img-blog.csdnimg.cn/img_convert/40c0c9115938776b92046891fa7a4711.png)
参考代码案例:
import com.sxmfyy.health.model.system.menu.HealthSysMenu;import com.sxmfyy.health.model.system.menu.dto.HealthSysMenuDTO;import org.springframework.beans.BeanUtils;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class TileTreeConverter { /** * 算法====>将平铺结构转换为树形结构 * 实现方案====>采用递归方式 * * @param sysMenuList * @return */ public static List convertTree(List sysMenuList) {