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 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。