如何在Java中循环数组?

时间:2009-08-03 13:38:38

标签: java

与我关于how to build a tree-like structure的问题相关,我从服务器收到的数据是这样的数组:{School Chair Table Chalk}

我如何循环使用:

  • School成为Chair
  • 的父级
  • Chair成为Table
  • 的父级
  • Table成为Chalk
  • 的父级

2 个答案:

答案 0 :(得分:1)

假设一个Node类提供一个构造函数,该构造函数接受节点的值作为参数,并且方法addChild将另一个Node添加为子节点并将其自身设置为子节点的父节点,则代码可能如下所示:

Node currentNode = null;
for(String value: array) {
    Node node = new Node(value);
    if(currentNode != null) {
        currentNode.addChild(node);
    }
    currentNode = node;
}

答案 1 :(得分:1)

它们是否总是在按顺序变为分层的列表中?我建议创建一个简单的包装类...原谅我的语法,因为我已经在C#中玩了一段时间了:

public class Node {
    public string description;
    public Node child;

    public Node(List<string> descriptions) {

        this.description = descriptions.RemoveAt(0);
        if (descriptions.Count > 0) {
            this.child = new Node(descriptions);  //create child node with remaining items
        }
    }
}    

如果您将带有零项的列表传递给构造函数,这将会出现问题,但这很容易解决。