62,623
社区成员
发帖
与我相关
我的任务
分享 Node node = new Node();
node.name = "Root";
node.value = "0";
node.addSubNode("Sub 1", "20");
node.addSubNode("Sub 2", "10");
((Node)node.list.get(1)).addSubNode("21", "5");
((Node)node.list.get(1)).addSubNode("22", "0");
node.addSubNode("Sub 3", "50");
node.addSubNode("Sub 22", "100");
Node find = node.searchNode("Sub 11");
if(find == null)System.out.println("Not found");
else{
System.out.println(find.name);
System.out.println(find.value);
}import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Node {
public String name;
public String value;
public List list ;
public Node searchNode(String searchName){
if(this.name.equals(searchName))return this;
Node node = null;
Iterator iterator = list.iterator();
while(iterator.hasNext()){
node = (Node)iterator.next();
if(searchName.equals(node.name))
return node;
else if(node.list != null)
node.searchNode(searchName);
}
System.out.println("Not found");
return null;
}
public void addSubNode(String name ,String value){
if(list == null) list = new ArrayList();
Node node = new Node();
node.name = name;
node.value = value;
list.add(node);
}
public boolean hasNode(Node node){
if(list == null) return false;
return list.indexOf(node) > -1;
}
}while(iterator.hasNext()){
node = (Node)iterator.next();
if(searchName.equals(node.name))
return node;
else if(node.list != null)
return node.searchNode(searchName);
}