java中Queue

java-----Queue

java中Queue是个接口,在内部是利用LinkedList来实现的,因为接口是不能被实例化的,所以使用Queue的时候,要注意。这是我写的关于树的层次遍历方法,中间用到Queue,不清楚所以记下来防止忘记。

在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。

Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用
element()或者peek()方法。


public void levelPrint(TreeNode root)
	{
		Queue q = new LinkedList();;//Queue是个接口,实现使用LinkedList实现的,抛出对顶元素用poll
		//获取对顶元素用peek,加入元素用offer
		if(root == null)
		{
			return;
		}else{
		q.offer(root);}
		while(q.isEmpty()!=true)
		{
			TreeNode temp=(TreeNode) q.poll();
			System.out.print(temp.getData()+"--->");
			if(temp.getLeftChild() !=null)
			{
				q.add(temp.getLeftChild());
			}
			if(temp.getRightChild()!=null)
			{
				q.add(temp.getRightChild());
			}
		}
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值