温馨提示×

java怎么获取下级所有childrenid

小亿
236
2023-10-25 10:00:10
栏目: 编程语言

在Java中,可以使用递归的方式来获取下级所有children ID。以下是一个示例代码:

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Main { public static void main(String[] args) { Map<Integer, List<Integer>> childrenMap = new HashMap<>(); childrenMap.put(1, List.of(2, 3)); childrenMap.put(2, List.of(4, 5)); childrenMap.put(3, List.of(6, 7)); List<Integer> childrenIds = getChildrenIds(childrenMap, 1); System.out.println(childrenIds); } public static List<Integer> getChildrenIds(Map<Integer, List<Integer>> childrenMap, int parentId) { List<Integer> childrenIds = new ArrayList<>(); List<Integer> children = childrenMap.get(parentId); if (children != null) { for (int childId : children) { childrenIds.add(childId); childrenIds.addAll(getChildrenIds(childrenMap, childId)); } } return childrenIds; } } 

在上面的示例中,我们使用一个Map<Integer, List<Integer>>来表示父级和子级之间的关系。getChildrenIds方法使用递归的方式来获取下级所有children ID。在每次迭代中,我们将当前子级的ID添加到结果列表中,并继续递归调用以获取该子级的下级ID。最后,返回所有children ID的列表。

在示例中,我们使用childrenMap来表示以下关系:

  • 父级1有子级2和3
  • 子级2有子级4和5
  • 子级3有子级6和7

输出结果为:[2, 4, 5, 3, 6, 7],表示1的所有下级ID为2、4、5、3、6和7。

0