2013-02-11 124 views
1

我正在尋找簡單的字節FiFo緩衝區。我必須放置並獲取一個字節或數組。但我可以把每一個單字節和數組,反之亦然。
任何想法或示例代碼來幫助我?Android/Java簡單的FiFO緩衝區

+0

請參閱http://docs.oracle.com/javase/tutorial/collections/interfaces/queue.html – 2013-02-11 14:34:29

回答

5

您可以使用LinkedList作爲隊列:

Queue<String> qe=new LinkedList<String>(); 

    qe.add("b"); 
    qe.add("a"); 
    qe.add("c"); 
    qe.add("e"); 
    qe.add("d"); 

    Iterator it=qe.iterator(); 

    System.out.println("Initial Size of Queue :"+qe.size()); 

    while(it.hasNext()) 
    { 
     String iteratorValue=(String)it.next(); 
     System.out.println("Queue Next Value :"+iteratorValue); 
    } 

    // get value and does not remove element from queue 
    System.out.println("Queue peek :"+qe.peek()); 

    // get first value and remove that object from queue 
    System.out.println("Queue poll :"+qe.poll()); 

    System.out.println("Final Size of Queue :"+qe.size()); 

如果你也想添加的優先級,你可以使用一個PriorityQueue

如果你需要它是線程安全的使用ConcurrentLinkedQueue

另外,正如@Leonidos所說,您可以使用ByteBuffer您需要低級I/O,但要小心。

如果您需要任何關於如何使用它們的說明,請隨時對帖子發表評論。

2

如果您進行密集型I/O,您最好根據自己的需求改編ByteBuffer。它工作速度非常快,允許寫入和讀取單字節數據或字節數組。 ByteBuffer有時很棘手,要小心)