|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.AbstractCollection<E> java.util.AbstractQueue<E> java.util.concurrent.PriorityBlockingQueue<E>
E
- コレクション内に存在する要素の型public class PriorityBlockingQueue<E>
PriorityQueue
クラスと同じ順序付け規則を使用し、ブロック取得操作を提供する、アンバウンド形式のブロックキュー。このキューは、論理的にアンバウンド形式ですが、リソースの枯渇のために追加が失敗する場合があります (OutOfMemoryError が引き起こされる)。このクラスは、null 要素を許可しません。自然順序付けに依存する優先度キューも、非互換オブジェクトの挿入を許可しません (実行すると ClassCastException がスローされる)。
このクラスとその反復子は、Collection
および Iterator
インタフェースの「オプション」メソッドすべてを実装します。iterator()
メソッド内で提供される Iterator では、特定の順序で PriorityBlockingQueue の要素をたどることは保証されません。要素をたどる順序を指定する必要がある場合は、Arrays.sort(pq.toArray()) の使用を考慮してください。
このクラスは、Java Collections Framework のメンバです。
コンストラクタの概要 | |
---|---|
PriorityBlockingQueue()
自然順序付けに従って要素を順序付けする (Comparable を使用)、デフォルトの初期容量 (11) を持つ PriorityBlockingQueue を作成します。 |
|
PriorityBlockingQueue(Collection<? extends E> c)
指定されたコレクション内の要素を含む PriorityBlockingQueue を作成します。 |
|
PriorityBlockingQueue(int initialCapacity)
自然順序付けに従って要素を順序付けする (Comparable を使用)、指定された初期容量を持つ PriorityBlockingQueue を作成します。 |
|
PriorityBlockingQueue(int initialCapacity,
Comparator<? super E> comparator)
指定されたコンパレータに従って要素を順序付けする、指定された初期容量を持つ PriorityBlockingQueue を作成します。 |
メソッドの概要 | ||
---|---|---|
boolean |
add(E o)
指定された要素をこのキューに追加します。 |
|
void |
clear()
キューからすべての要素を原子的に削除します。 |
|
Comparator<? super E> |
comparator()
コレクションの順序付けに使うコンパレータを返します。 |
|
boolean |
contains(Object o)
コレクションに指定された要素がある場合に true を返します。 |
|
int |
drainTo(Collection<? super E> c)
利用可能なすべての要素をこのキューから削除して、指定されたコレクションに追加します。 |
|
int |
drainTo(Collection<? super E> c,
int maxElements)
指定された数以内の利用可能な要素をこのキューから削除して、指定されたコレクションに追加します。 |
|
Iterator<E> |
iterator()
このキュー内の要素の反復子を返します。 |
|
boolean |
offer(E o)
指定された要素をこの優先度キューに挿入します。 |
|
boolean |
offer(E o,
long timeout,
TimeUnit unit)
指定された要素をこの優先度キューに挿入します。 |
|
E |
peek()
キューの先頭を取得しますが、削除しません。 |
|
E |
poll()
キューの先頭を取得および削除します。 |
|
E |
poll(long timeout,
TimeUnit unit)
このキューの先頭を取得および削除します。 |
|
void |
put(E o)
指定された要素をこの優先度キューに追加します。 |
|
int |
remainingCapacity()
PriorityBlockingQueue は容量制限がないため、常に Integer.MAX_VALUE を返します。 |
|
boolean |
remove(Object o)
指定された要素の単一のインスタンスがある場合は、キューから削除します。 |
|
int |
size()
このコレクション中の要素の数を返します。 |
|
E |
take()
このキューの先頭を取得および削除します。 |
|
Object[] |
toArray()
このコレクションの要素がすべて格納されている配列を返します。 |
|
|
toArray(T[] a)
このコレクション内のすべての要素を保持する配列を返します。 |
|
String |
toString()
このコレクションの文字列表現を返します。 |
クラス java.util.AbstractQueue から継承されたメソッド |
---|
addAll, element, remove |
クラス java.util.AbstractCollection から継承されたメソッド |
---|
containsAll, isEmpty, removeAll, retainAll |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
インタフェース java.util.Queue から継承されたメソッド |
---|
element, remove |
インタフェース java.util.Collection から継承されたメソッド |
---|
addAll, containsAll, equals, hashCode, isEmpty, removeAll, retainAll |
コンストラクタの詳細 |
---|
public PriorityBlockingQueue()
public PriorityBlockingQueue(int initialCapacity)
initialCapacity
- この優先度キューの初期容量
IllegalArgumentException
- initialCapacity が 1 未満の場合public PriorityBlockingQueue(int initialCapacity, Comparator<? super E> comparator)
initialCapacity
- この優先度キューの初期容量comparator
- この優先度キューの順序付けに使用するコンパレータ。null の場合、順序は要素の自然順序付けに依存する
IllegalArgumentException
- initialCapacity が 1 未満の場合public PriorityBlockingQueue(Collection<? extends E> c)
SortedSet
または PriorityQueue
の場合、この優先度キューは同じコンパレータに従うか、その要素の自然順序に従って (コレクションが要素の自然順序に従ってソートされる場合) ソートされます。それ以外の場合は、この優先度キューはその要素の自然順序に従って順序付けされます。
c
- 要素が優先度キューに配置されるコレクション
ClassCastException
- 指定されたコレクションの要素を、優先度キューの順序付けに従って相互に比較できない場合
NullPointerException
- c またはその内部要素のいずれかが null の場合メソッドの詳細 |
---|
public boolean add(E o)
Collection<E>
内の add
BlockingQueue<E>
内の add
AbstractQueue<E>
内の add
o
- 追加する要素
NullPointerException
- 指定された要素が null である場合
ClassCastException
- 指定された要素を、優先度キューに現在存在する要素と、優先度キューの順序付けに従って比較できない場合public Comparator<? super E> comparator()
public boolean offer(E o)
BlockingQueue<E>
内の offer
Queue<E>
内の offer
o
- 追加する要素
ClassCastException
- 指定された要素を、優先度キューに現在存在する要素と、優先度キューの順序付けに従って比較できない場合
NullPointerException
- 指定された要素が null である場合public void put(E o)
BlockingQueue<E>
内の put
o
- 追加する要素
ClassCastException
- 要素を、優先度キューに現在存在する要素と、優先度キューの順序付けに従って比較できない場合
NullPointerException
- 指定された要素が null である場合public boolean offer(E o, long timeout, TimeUnit unit)
BlockingQueue<E>
内の offer
o
- 追加する要素timeout
- メソッドがブロックを実行することはないため、このパラメータは無視されるunit
- メソッドがブロックを実行することはないため、このパラメータは無視される
ClassCastException
- 要素を、優先度キューに現在存在する要素と、優先度キューの順序付けに従って比較できない場合
NullPointerException
- 指定された要素が null である場合public E take() throws InterruptedException
BlockingQueue
の記述:
BlockingQueue<E>
内の take
InterruptedException
- 待機中に割り込みが発生した場合public E poll()
Queue
の記述:
Queue<E>
内の poll
public E poll(long timeout, TimeUnit unit) throws InterruptedException
BlockingQueue
の記述:
BlockingQueue<E>
内の poll
timeout
- 処理を中止するまでの待機時間。単位は unitunit
- timeout パラメータの解釈方法を指定する TimeUnit
InterruptedException
- 待機中に割り込みが発生した場合public E peek()
Queue
の記述:
Queue<E>
内の peek
public int size()
AbstractCollection
の記述:
Collection<E>
内の size
AbstractCollection<E>
内の size
public int remainingCapacity()
BlockingQueue<E>
内の remainingCapacity
public boolean remove(Object o)
Collection<E>
内の remove
AbstractCollection<E>
内の remove
o
- コレクションから削除される要素 (その要素がある場合)
public boolean contains(Object o)
AbstractCollection
の記述: この実装はコレクションの各要素について、指定された要素と等しいかどうかを順に繰り返し確認します。
Collection<E>
内の contains
AbstractCollection<E>
内の contains
o
- このコレクションにあるかどうかを調べるオブジェクト
public Object[] toArray()
AbstractCollection
の記述: この実装は、返される配列を割り当て、コレクションの各要素について繰り返します。つまり、各オブジェクト参照を配列の次の要素に格納するという処理を、第 0 要素から開始します。
Collection<E>
内の toArray
AbstractCollection<E>
内の toArray
public String toString()
AbstractCollection
の記述: この実装は空の文字列バッファを作成し、最初に左角括弧を付加してから、コレクションの内容を次々調べて、各要素の文字列表現を順に付加していきます。各要素の後には、文字列 ", " が付加されます。ただし、最後の要素の後には、", " ではなく右角括弧が付加されます。最後に文字列バッファから文字列を取得し、その文字列を返します。
AbstractCollection<E>
内の toString
public int drainTo(Collection<? super E> c)
BlockingQueue
の記述:
BlockingQueue<E>
内の drainTo
c
- 要素の転送先のコレクション
public int drainTo(Collection<? super E> c, int maxElements)
BlockingQueue
の記述:
BlockingQueue<E>
内の drainTo
c
- 要素の転送先のコレクションmaxElements
- 転送する要素の最大数
public void clear()
Collection<E>
内の clear
AbstractQueue<E>
内の clear
public <T> T[] toArray(T[] a)
AbstractCollection
の記述: 指定された配列にコレクションが収まり、さらに空きがある場合、すなわち配列にコレクション以上の要素数がある場合には、コレクションの終端の直後にある配列の要素が null に設定されます。コレクションに null 要素がないことが呼び出し側でわかっている場合には、これにより、コレクションの長さを判定できます。
反復子によって要素が返される順序をコレクションが保証する場合、このメソッドは同じ順序で要素を返さなければなりません。
この実装は、配列がコレクションの格納に十分な大きさであるかを確認します。不十分な場合、この実装はリフレクションを使って、適切なサイズおよび型の配列を新しく割り当てます。次に、コレクションに対して、0 から順に配列の連続する要素へ各オブジェクト参照を格納する操作を反復します。配列がコレクションよりも大きい場合、コレクションの終端より後の最初の位置に null が格納されます。
Collection<E>
内の toArray
AbstractCollection<E>
内の toArray
a
- コレクションの要素の格納先の配列。配列のサイズが十分でない場合は、同じ実行時の型で新しい配列が格納用として割り当てられる
public Iterator<E> iterator()
ConcurrentModificationException
をスローします。
Iterable<E>
内の iterator
Collection<E>
内の iterator
AbstractCollection<E>
内の iterator
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。