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