java中Queue

来源:互联网 发布:淡抹夕阳引擎源码 编辑:程序博客网 时间:2024/06/08 15:30

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,加入元素用offerif(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
原创粉丝点击