1.0から導入されていました。5.0からQueueインターフェイスが新たに導入されました。Queueインターフェイスは「処理の前に要素を保持する目的で設計されたコレクション」と定義されています。通常、キューはFIFOで要素の順序付けを行いますが、指定されたコンパレータ(比較関数)に従って要素の順序付けを行う「優先度キュー」も導入されました。実際にキューを利用するには、Queueインターフェイスと、サブインターフェイスであるBlockingQueueを実装する8つのクラスを使い分けることになります。BlockingQueueはブロックキューを実現するインターフェイスで、ブロックキューは、要素の取得時にキューが空でなくなるまで待機したり、要素の格納時にキュー内の空間が利用可能になるまで待機する操作もサポートする拡張型のキューです。1.2からあるリンクリストの実装クラス。優先度キューを提供するクラス。同期キューを提供するクラス。同期キューは要素のキューへの追加が先頭の取得&削除を待機するブロックキューGenericsを用いたスタックとキューのサンプルプログラム8つのクラスのうち7つは今回新たに追加されたクラスですが、LinkedListだけが以前から存在したクラスへの仕様追加になっています。そこで、一例として、LinkedListオブジェクトによるキューと、Stackクラスによるスタックを試すプログラムを作成しました。5から登場したGenericsを用いて、キューとスタックの要素を文字列(String)に設定しています。キューとスタックを試すプログラムキューがスタックに近い形で利用可能になっているのが、実感できます。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。