共計(jì) 1027 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
在 Java 中,可以使用遞歸的方式來(lái)獲取下級(jí)所有 children ID。以下是一個(gè)示例代碼:
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;
}
}
在上面的示例中,我們使用一個(gè) Map<Integer, List<Integer>>
來(lái)表示父級(jí)和子級(jí)之間的關(guān)系。getChildrenIds
方法使用遞歸的方式來(lái)獲取下級(jí)所有 children ID。在每次迭代中,我們將當(dāng)前子級(jí)的 ID 添加到結(jié)果列表中,并繼續(xù)遞歸調(diào)用以獲取該子級(jí)的下級(jí) ID。最后,返回所有 children ID 的列表。
在示例中,我們使用 childrenMap
來(lái)表示以下關(guān)系:
- 父級(jí) 1 有子級(jí) 2 和 3
- 子級(jí) 2 有子級(jí) 4 和 5
- 子級(jí) 3 有子級(jí) 6 和 7
輸出結(jié)果為:[2, 4, 5, 3, 6, 7]
,表示 1 的所有下級(jí) ID 為 2、4、5、3、6 和 7。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完
發(fā)表至: Java
2023-12-16