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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值