import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class LinkedTreeNode {
private Object data; // 存储的数据
private LinkedTreeNode parentNode; // 双亲节点
private List<LinkedTreeNode> childList; // 孩子节点的引用
public LinkedTreeNode(Object data, LinkedTreeNode parent) {
this.data = data;
parentNode = parent;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Object getParent() {
return parentNode;
}
public void setParent(LinkedTreeNode parent) {
parentNode = parent;
}
public List<LinkedTreeNode> getChild() {
return childList;
}
public void setChild(List<LinkedTreeNode> childList) {
this.childList = childList;
}
public static void main(String[] args) {
//建立根节点
LinkedTreeNode rootNode = new LinkedTreeNode("root", null);
//添加孩子节点
LinkedList<LinkedTreeNode> childList = new LinkedList<LinkedTreeNode>();
LinkedTreeNode child1 = new LinkedTreeNode("child1", rootNode);
LinkedTreeNode child2 = new LinkedTreeNode("child2", rootNode);
childList.add(child1);
childList.add(child2);
rootNode.setChild(childList);
//输出根节点数据
System.out.println(rootNode.getData());
//输出孩子节点的信息
Iterator<LinkedTreeNode> iter = rootNode.getChild().iterator();
while (iter.hasNext()) {
System.out.println(iter.next().getData());
}
}
}
Java简单实现树
最新推荐文章于 2024-07-30 21:12:55 发布