实施 Parent/Child 并获取记录集 如果我给 parent 名称

To Implement Parent/Child & get Set of records If i give parent name

我有如下数据。在这里,如果第 1 队是 parent 并且有 2 个 child 队 A 和队 B。A 队再次是 parent 并且球员名称为 child。 B队没有任何child.

同样在另一种情况下,A 队是独立的 parent 并包含一些 child 等。

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

的团队 A 的记录

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

public class Node {

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

但是这里动态创建节点是个问题,因为我们不知道 parents 的级别(在这个例子中有 2 个)。意味着 "Dhoni" 再次包含一些 child 就像明智的那样。

如何实现这个?。请指导。

无论我从问题描述中了解到什么,我都会尝试总结 here.You 正在寻找可以采用 parent name(key) 并且可能具有 children 的数据结构,每个 child 还可以进一步扩展。

public class节点{

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 的列表。所以如果你想进一步检查,检查列表大小,如果它大于零,你可以得到 children(进一步你可以得到为 teamA,teamB 定义的所有球员)否则你最后 child。