public class VltavaWisdomMapType
{
//站点id
private String id;
//子级集合
private List<VltavaWisdomMapType> childrenList;
}
/**
* 获取所有子节点
* @param parentId 父节点
* @param allData 所有的数据集合
* @return
*/
private List<String> getAllChildrenIds(String parentId , List<VltavaWisdomMapType> allData) {
ArrayList<String> childrenSiteIds = new ArrayList<>();
if (StringUtils.isNotEmpty(parentId) && null != allData && allData.size() > 0){
try{
for (VltavaWisdomMapType item : allData) {
if(parentId.equals(item.getParentId())){
//添加子级节点
childrenSiteIds.add(item.getId());
//递归获取深层节点
childrenSiteIds.addAll(getAllChildrenIds(item.getId(),allData));
}
}
}catch (Exception exception){
}
}
return childrenSiteIds;
}
方法调用
List<String> mapTypeIdList=null;
mapTypeIdList=getAllChildrenIds(mapTypeId,mapTypeList);
该代码片段展示了如何在Java中实现一个方法,用于从一个包含站点ID和子级集合的数据结构中递归获取所有子节点的ID。方法接受父节点ID和数据集合作为参数,返回一个包含所有子节点ID的列表。
7223

被折叠的 条评论
为什么被折叠?



