2

単純なバイトFiFoバッファを探しています。または、1バイトまたは配列を入れて取得する必要があります。しかし、私は毎回1バイトを入れて配列を取得することができ、その逆も可能です。
私を助けるためのアイデアやサンプルコードはありますか?

4

2 に答える 2

8

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が必要な場合は使用できますが、注意してください。

それらの使用方法について説明が必要な場合は、お気軽に投稿にコメントしてください。

于 2013-02-11T14:47:12.590 に答える
2

集中的な I/O を行う場合は、必要に応じてByteBufferを調整することをお勧めします。非常に高速に動作し、1 バイト データまたはバイト配列の読み書きが可能です。ByteBuffer は時々トリッキーです、注意してください )

于 2013-02-11T14:53:26.520 に答える