实施父母/子女&获取记录集如果我给出父名

时间:2016-10-17 08:20:58

标签: java data-structures tree linkedhashmap

我的数据如下所示。如果第1组是父母&有2个孩子A队和A队B队.A队再次成为父母&将球员姓名作为孩子。 B队没有任何孩子。

在另一个场景中,A队是独立的父母&包含一些孩子等..

如果我给团队1,那么它应该获取A队和A队的记录。 B队作为一个捆绑。 如果我给A队,那么它应该获取包含其孩子的A组记录。

enter image description here

我正在考虑使用Map或Tree来实现它。我试过这个 -

public class Node {

    private String id;
    private List<Node> children = new ArrayList<>();
    private Node parent;
    ..........
    //setters and getters
}

但是这里动态创建节点是有问题的,因为我们不知道父节点的级别(在这个例子中有2个)。意思是“Dhoni”再次包含一些像智者一样的孩子。

如何实施?。请指导。

1 个答案:

答案 0 :(得分:1)

无论我从问题描述中理解什么,我都会在这里总结一下。你正在寻找一个可以取父名(密钥)的数据结构,它可能有孩子,每个孩子也可以进一步扩展。

public class Node {

private String id; // for each level you have key defined.
private List<Node> children = new ArrayList<>(); //using given key you can  get children list  

}

您可以在这里使用地图

 Map<String, List<Node>> // here key is team name etc., and list represents children.

如果您将team1作为密钥,则会获得包含teamA,teamB的列表。因此,如果你想进一步检查,检查列表大小,如果它大于零,你可以得到孩子(此外你可以得到为teamA,teamB定义的所有玩家),否则你就是最后一个孩子。