2

我正在寻找简单的字节 FiFo 缓冲区。我必须放置并获取单个字节或数组。但是我可以每次都放一个字节并获取数组,反之亦然。
有什么想法或示例代码可以帮助我吗?

4

2 回答 2

8

您可以使用 aLinkedList作为队列:

    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 所说,您可以使用 aByteBuffer如果您需要低级 I/O,但要小心。

如果您需要有关如何使用它们的任何说明,请随时对帖子发表评论。

于 2013-02-11T14:47:12.590 回答
2

如果您进行密集的 I/O,您最好根据需要调整ByteBuffer。它工作得非常快,允许写入和读取单字节数据或字节数组。ByteBuffer 有时很棘手,要小心)

于 2013-02-11T14:53:26.520 回答