java中的队列

 转载自:http://blog.csdn.net/guijava/article/details/3784658   

在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。Queue接口与List、Set同一级别,都是继承了Collection接口。
Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优
点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用
element()或者peek()方法。
值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。

LinkedList实现了Queue接口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Queue接口

 1 小例子: 
 2 
 3 /**
 4  *
 5  * @author Zang XT
 6  */
 7 import java.util.Queue;
 8 import java.util.LinkedList;
 9 public class TestQueue {
10     public static void main(String[] args) {
11         Queue<String> queue = new LinkedList<String>();
12         queue.offer("Hello");
13         queue.offer("World!");
14         queue.offer("你好!");
15         System.out.println(queue.size());
16         String str;
17         while((str=queue.poll())!=null){
18             System.out.print(str);
19         }
20         System.out.println();
21         System.out.println(queue.size());
22     }
23 }

 

 

转载于:https://www.cnblogs.com/lintong/p/4365184.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值