リストからすべての要素を取得したいが、この要素にはリストがあり、リストがnullの場合は(node.getChildNotes() == null)
になる。Javaアルゴリズムリストのリストを含むリストに移動
私は以下を試しましたが、それは無限の深さに働くアルゴリズムではありません。
リストからすべての要素を取得したいが、この要素にはリストがあり、リストがnullの場合は(node.getChildNotes() == null)
になる。Javaアルゴリズムリストのリストを含むリストに移動
私は以下を試しましたが、それは無限の深さに働くアルゴリズムではありません。
私は、あなたが最初にあなたの親ノードのすべての子ノードを取得し、単にその後、各ノードのnew Layout
を作成することができ、深い再帰関数と考えます。
private List<Node> createChildList(Node parent) {
List<Node> result = new ArrayList<Node>();
NodeList children = parent.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
result.addAll(createChildList(children.item(i)));
}
return result;
}
if条件の後で、子ノードを取得して、すべての子ノードをチェックするforループを作成します。なぜあなたはwhileループが必要なのか分かりません。ちょうどこのままにしておきます。また、カウント変数は無駄です。
private List<Layout> createChildList(Node node) {
List<Layout> layouts = new ArrayList<>();
//int count = 0; WHY TO USE THIS USE THIS?
Node child = node.getChildNodes().item(0);
if(child == null){
break;
} else{
NodeList children = child.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
child = children.item(i);
Layout layout = new Layout();
layout.setName(child.getNodeName());
layouts.add(layout);
}
return layouts;
}
ありがとう、ちょうど私が必要なもの – H3x0n