Java简单实现树

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());
		}
	}
}

猜你喜欢

转载自blog.csdn.net/nihao_pcm/article/details/80584084