我有一個孩子的列表和父母的列表。我也有一個childeId-parentId的地圖。父母可以有n個孩子,但孩子有一個直系父母。 我想從Java中的父級獲取每個孩子的路徑。我怎樣才能遞歸呢?從父母那裏獲得孩子的路徑
我有基團爲:根,ABC,ASD,XYZ,123,XYZ2]
父子圖:{根= ABC,根系= ASD,根系= XYZ,根系= 123,XYZ = XYZ2}
我想每個孩子的路徑爲: {根/ ABC,根/ ASD,根/ XYZ,根/ 123根/ XYZ/XYZ2}
我有地圖:
final<String, Groups> groupMap = Service.getListOfGroups(service);
它給了我所有需要的值。 我正在循環瀏覽地圖以獲取每個條目。
public Map<String, Groups> takeGroups(Service servie) {
final<String, Groups> groupMap = new HashMap<>();
for(Groups gp: service.getGroups()){
groupMap.put(gp.getGroupId, gp)
}
for(Groups gp: groupMap.values()){
gp.setChildren(new ArrayList<>());
String group = gp.getGroupValue();
String parentId = gp.getParent();
Groups parentGroup = groupMap.get(parentId);
List<GroupSummary> childs = parent.getChildren();
if(childs == null){
childs = new ArrayList<>();
}
childs.add(gd);
}
return groupMap;
}
我想我可以通過將所有這些值添加到n-ary樹,然後遍歷n元樹來解決此問題。我從來沒有在樹上工作過,也不知道如何從中創建n-ary-tree並獲得所有組的必需路徑。真的很感謝任何幫助。
能否請詳細說明你的問題,顯示一個例子,顯示了一些代碼等的一個良好的開端應該是:我父列表看起來像X,我的孩子名單看起來像Y,和我的地圖看起來像ž用一個例子填充X,Y,Z。根據示例,顯示您想要的路徑。 –