4

次の場合、どの種類のコレクションを使用する必要がありますか:

  1. 最大保存したい。Enumsコレクションの5
  2. コレクションの読み取り、書き込み、および反復処理は、1 秒間に複数回発生する可能性があります
  3. 新しい要素を追加する必要がある場合は、最も古い要素が削除されます (それがあるe1...e5と仮定し、追加e6すると になります e2...e6)。

ほとんどの場合、コレクション全体を反復処理します。が必要だと思いLinkedListますが、 の経験があまりないJavaので、確認したいと思います。

4

3 に答える 3

2

LinkedBlockingQueue

LinkedBlockingQueue lbq =new LinkedBlockingQueue(5);
if(!(lbq.offer(newOBject)){
  lbq.take();
  lbq.offer(newObject);
}

EnumMapも有用であり、キーは enum インスタンスに制限されます。

于 2013-09-05T09:15:31.983 に答える
1

ここで必要なのは、 FIFO をサポートする Queue Data Structure です。

Collections Framework から LinkedList を使用できます。これは Queue インターフェイスを実装しています。

Linked List in Java の詳細を参照してください

于 2013-09-05T09:07:05.843 に答える