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 }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM