@Data
public class ResponseAreaItem {
private int id;
private int key;
private String area_name;
private String area_code;
private int level_id;
private String description;
private int p_id;
private String create_time;
private String update_time;
private List<ZeusResponseAreaItem> children;
}
/**
* 区域数对象遍历
*/
public class AreaTreeTraversal {
/**
* 遍历树状结构并返回包含顶级节点及其所有子节点的整体集合。
*
* @param root 树的顶级节点
* @return 包含顶级节点及其所有子节点的整体集合
*/
public static List<ZeusResponseAreaItem> traverseTree(ResponseAreaItem root) {
List<ZeusResponseAreaItem> allNodes = new ArrayList<>();
// 递归遍历树状结构
traverseNode(root, allNodes);
return allNodes;
}
private static void traverseNode(ResponseAreaItem node, List<ZeusResponseAreaItem> allNodes) {
if (node != null) {
allNodes.add(node); // 添加当前节点
List<ZeusResponseAreaItem> children = node.getChildren();
if(!CollectionUtils.isEmpty(children)){
for (ResponseAreaItem child : children) {
traverseNode(child, allNodes); // 递归遍历子节点
}
}
}
}
}
java遍历树状结构对象,父类和所有子节点,拼装成一个整体List集合
最新推荐文章于 2025-04-30 09:33:22 发布