Kagetaka

net.fclabs.util
クラス Queue

java.lang.Object
  拡張net.fclabs.util.Queue

public class Queue
extends Object

基本的なキューの機能を提供します。

キューは、一つ以上のブロックを循環リストにして管理されています。 一つのブロックに、オブジェクトを複数格納できます。 インスタンスを作成するときに、ブロック数(minBlockNum)と ブロック内のオブジェクトの数(blockSize)を指定できます。 なにも指定しない場合、ブロック数は 1、オブジェクト数は 8 で構成されます。

キューにデータが入り、全てのブロックが一杯になると、 指定されたオブジェクトの数を持つブロックを一つリストに追加します。 逆に、キューからオブジェクトを取り出し、空のブロックが 2 つ以上 出来ると、その内の 1 つはリストから削除されます。

バージョン:
$Revision: 1.1.1.1 $

コンストラクタの概要
Queue()
          空のキューを作成します。
Queue(int blockSize)
          ブロック当たりの容量を指定して、空のキューを作成します。
Queue(int blockSize, int minBlockNum)
          ブロック当たりの容量と、ブロック数を指定して、空のキューを作成します。
 
メソッドの概要
 void clear()
          キュー内にある待ち行列を全て破棄します。
 Object get()
          キューの先頭からオブジェクトを取得し、 そのデータをキューから削除します。
 boolean isEmpty()
          キューが空かどうかをテストします。
 Object peek()
          キューの先頭のオブジェクトを取得しますが、 そのデータはキューから削除されません。
 void put(Object data)
          キューの末尾にオブジェクトを格納します。
 int size()
          キュー内にある待ち行列の数を返します。
 String toString()
          キュー内のデータを、文字列化します。
 Object waitObject()
          キューからオブジェクトを取得し、キューから削除します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Queue

public Queue()
空のキューを作成します。


Queue

public Queue(int blockSize)
ブロック当たりの容量を指定して、空のキューを作成します。

パラメータ:
blockSize - リスト内の一つのブロックに格納できるオブジェクト数

Queue

public Queue(int blockSize,
             int minBlockNum)
ブロック当たりの容量と、ブロック数を指定して、空のキューを作成します。 初期容量は、blockSize x minBlockNum になります。

パラメータ:
blockSize - リスト内の一つのブロックに格納できるオブジェクト数
minBlockNum - リストを構成するブロックの数
メソッドの詳細

clear

public void clear()
キュー内にある待ち行列を全て破棄します。


get

public Object get()
キューの先頭からオブジェクトを取得し、 そのデータをキューから削除します。

戻り値:
キューの先頭に入っているデータ

isEmpty

public boolean isEmpty()
キューが空かどうかをテストします。

戻り値:
キューが空の場合は true、 それ以外は false

peek

public Object peek()
キューの先頭のオブジェクトを取得しますが、 そのデータはキューから削除されません。

戻り値:
キューの先頭に入っているデータ

put

public void put(Object data)
キューの末尾にオブジェクトを格納します。

パラメータ:
data - キューに格納するオブジェクト

size

public int size()
キュー内にある待ち行列の数を返します。

戻り値:
待ち行列の数

toString

public String toString()
キュー内のデータを、文字列化します。 キュー内のデータ量に応じて、結果が増大します。

戻り値:
キュー内のデータを文字列化したもの

waitObject

public Object waitObject()
                  throws InterruptedException
キューからオブジェクトを取得し、キューから削除します。 ただし、キューが空の場合は、新たにキューに格納されるので待機します。

戻り値:
キューの先頭に入っているデータ
例外:
InterruptedException - 待機中に割り込みが入った場合

Kagetaka

Copyright (c) 2002-2004 The Kagetaka Project 'November 20, 2004'