TreeUtil 工具类,包括列表转树形结构、遍历、查找和删除节点等功能。
import java.util.*;
public class TreeUtil {
/**
* 将列表转换为树形结构。
*
* @param target 扁平化的节点列表
* @param getId 获取节点ID的函数
* @param getParentId 获取节点父ID的函数
* @param getChildren 获取节点子节点列表的函数
* @param setChildren 设置节点子节点列表的函数
* @param <T> 节点类型
* @param <R> ID类型
* @return 转换后的树形结构根节点列表
*/
public static <T, R> List<T> listToTree(List<T> target, Function<T, R> getId, Function<T, R> getParentId,
Function<T, List<T>> getChildren, BiConsumer<T, List<T>> setChildren) {
M