|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.nio.Buffer | +--java.nio.ShortBuffer
short バッファです。
このクラスは、short バッファに対する操作を 4 つのカテゴリに分類します。
連続した short 値のシーケンスを現在のバッファから配列へと転送する相対
メソッド「一括 get」
連続した short 値のシーケンスを short 配列やその他の short バッファから現在のバッファへと転送する相対
メソッド 「一括 put」
short バッファは、バッファのコンテンツに容量を割り当てる方法 (
、既存の short 配列をバッファにラップする方法 (容量の割り当て
)、既存の byte バッファの「ビュー」を作成する方法で作成できます。
ラップ
byte バッファと同様に、short バッファにも「ダイレクト」バッファと「非ダイレクト」バッファがあります。このクラスの wrap メソッドで作成された short バッファは非ダイレクトバッファになります。byte バッファのビューとして作成された short バッファは、byte バッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。short バッファがダイレクトバッファであるかどうかは、isDirect
メソッドを呼び出すことで判断できます。
このクラスのメソッドのうち戻り値を返さないものは、自身を呼び出したバッファの情報を返します。これを応用して、メソッド呼び出しを連鎖させることができます。
メソッドの概要 | |
static ShortBuffer |
allocate(int capacity)
新しい short バッファを割り当てます。 |
short[] |
array()
現在のバッファを補助する short 配列を返します (オプション)。 |
int |
arrayOffset()
現在のバッファの補助配列内にある、このバッファの最初の要素のオフセットを返します (オプション)。 |
abstract ShortBuffer |
asReadOnlyBuffer()
現在のバッファのコンテンツを共有する新しい読み込み専用 short バッファを作成します。 |
abstract ShortBuffer |
compact()
現在のバッファを圧縮します (オプション)。 |
int |
compareTo(Object ob)
現在のバッファを別のオブジェクトと比較します。 |
abstract ShortBuffer |
duplicate()
現在のバッファのコンテンツを共有する新しい short バッファを作成します。 |
boolean |
equals(Object ob)
現在のバッファが別のオブジェクトと等価であるかどうかを判断します。 |
abstract short |
get()
相対「get」メソッドです。 |
abstract short |
get(int index)
絶対「get」メソッドです。 |
ShortBuffer |
get(short[] dst)
相対一括「get」メソッドです。 |
ShortBuffer |
get(short[] dst,
int offset,
int length)
相対一括「get」メソッドです。 |
boolean |
hasArray()
現在のバッファがアクセス可能な short 配列を利用するかどうかを判断します。 |
int |
hashCode()
現在のバッファの現在のハッシュコードを返します。 |
abstract boolean |
isDirect()
現在の short バッファがダイレクトバッファであるかどうかを判断します。 |
abstract ByteOrder |
order()
現在のバッファのバイト順序を取得します。 |
abstract ShortBuffer |
put(int index,
short s)
絶対「put」メソッドです (オプション)。 |
abstract ShortBuffer |
put(short s)
相対「put」メソッドです (オプション)。 |
ShortBuffer |
put(short[] src)
相対一括「put」メソッドです (オプション)。 |
ShortBuffer |
put(short[] src,
int offset,
int length)
相対一括「put」メソッドです (オプション)。 |
ShortBuffer |
put(ShortBuffer src)
相対一括「put」メソッドです (オプション)。 |
abstract ShortBuffer |
slice()
現在のバッファのコンテンツの共有サブシーケンスをコンテンツとする新しい short バッファを作成します。 |
String |
toString()
現在のバッファの状態を簡単に説明する文字列を返します。 |
static ShortBuffer |
wrap(short[] array)
short 配列をバッファにラップします。 |
static ShortBuffer |
wrap(short[] array,
int offset,
int length)
short 配列をバッファにラップします。 |
クラス java.nio.Buffer から継承したメソッド |
capacity, clear, flip, hasRemaining, isReadOnly, limit, limit, mark, position, position, remaining, reset, rewind |
クラス java.lang.Object から継承したメソッド |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
メソッドの詳細 |
public static ShortBuffer allocate(int capacity)
新しいバッファの位置は 0、リミットは容量と同じ値になります。マークは定義されません。このバッファは補助配列
を利用することになっており、その
配列オフセット
は 0 です。
capacity
- 新しいバッファの容量 (short)
public static ShortBuffer wrap(short[] array, int offset, int length)
新しいバッファは指定された short 配列を利用します。バッファに変更を加えると short 配列が変更され、short 配列に変更を加えるとバッファが変更されます。新しいバッファの容量は array.length、位置は offset、リミットは offset + length になります。マークは定義されません。指定された配列が補助配列
となり、その
配列オフセット
は 0 になります。
array
- 新しいバッファを補助する配列offset
- 使用するサブ配列の長さ。array.length 以下の正の数でなければならない。新しいバッファの位置は、この値に設定されるlength
- 使用するサブ配列のオフセット。array.length - offset 以下の正の数でなければならない。新しいバッファのリミットは、offset + length に設定される
IndexOutOfBoundsException
- offset パラメータと length パラメータの前提条件が満たされていない場合public static ShortBuffer wrap(short[] array)
新しいバッファは指定された short 配列を利用します。バッファに変更を加えると short 配列が変更され、short 配列に変更を加えるとバッファが変更されます。新しいバッファの容量とリミットは array.length、位置は 0 になります。マークは定義されません。指定された配列が補助配列
となり、その{@link #arrayOffset 配列オフセット
は 0 になります。
array
- 現在のバッファを補助する配列
public abstract ShortBuffer slice()
新しいバッファのコンテンツは、現在のバッファの現在位置から始まります。現在のバッファのコンテンツに変更を加えると、その内容が新しいバッファに反映されます。新しいバッファのコンテンツに変更を加えると、その内容が現在のバッファに反映されます。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置は 0、容量とリミットは現在のバッファ内に残っている short 値の数になります。マークは定義されません。新しいバッファは、現在のバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、現在のバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
public abstract ShortBuffer duplicate()
新しいバッファのコンテンツは、現在のバッファのコンテンツと同じになります。現在のバッファのコンテンツに変更を加えると、その内容が新しいバッファに反映されます。新しいバッファのコンテンツに変更を加えると、その内容が現在のバッファに反映されます。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの容量、リミット、位置、マークの値は、現在のバッファの対応する値と同じになります。新しいバッファは、現在のバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、現在のバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
public abstract ShortBuffer asReadOnlyBuffer()
新しいバッファのコンテンツは、現在のバッファのコンテンツと同じになります。現在のバッファのコンテンツに変更を加えると、その内容が新しいバッファに反映されます。しかし、新しいバッファ自体は読み込み専用であり、その共有コンテンツを変更することはできません。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの容量、リミット、位置、マークの値は、現在のバッファの対応する値と同じになります。
現在のバッファが読み込み専用の場合、このメソッドの動作はduplicate
メソッドとまったく同じになります。
public abstract short get()
BufferUnderflowException
- バッファの現在位置がリミット以上である場合public abstract ShortBuffer put(short s)
現在のバッファの現在位置に指定された short 値を書き込み、現在位置を増加します。
s
- 書き込まれる short 値
BufferOverflowException
- 現在のバッファの現在位置がリミット以上である場合
ReadOnlyBufferException
- 現在のバッファが読み込み専用バッファである場合public abstract short get(int index)
index
- short 値の読み込み位置を示すインデックス
IndexOutOfBoundsException
- index が負の数である場合、またはバッファのリミット以上である場合public abstract ShortBuffer put(int index, short s)
現在のバッファの指定されたインデックス位置に指定された short 値を書き込みます。
index
- short 値の書き込み先を示すインデックスs
- 書き込まれる short 値
IndexOutOfBoundsException
- index が負の数である場合、またはバッファのリミット以上である場合
ReadOnlyBufferException
- 現在のバッファが読み込み専用バッファである場合public ShortBuffer get(short[] dst, int offset, int length)
このメソッドは、現在のバッファから指定された配列に short 値を転送します。現在のバッファ内に残っている short 値の数が要求に満たない場合 (length > remaining())、short 値は一切転送されず、BufferUnderflowException
がスローされます。
それ以外の場合、このメソッドは、現在のバッファの現在位置から length 個の short 値を指定された配列の指定されたオフセット位置へコピーします。そのたびに、現在のバッファの位置が length ずつ増加します。
このメソッドを src.get(dst, off, len) の形式で呼び出すと、以下のループとまったく同じ結果になります。
for (int i = off; i < off + len; i++) dst[i] = src.get();ただし、現在のバッファ内に十分な数の short 値が存在することを最初に確認する動作は、このメソッドに固有です。また、このメソッドのほうがループよりもずっと効率的です。
dst
- short 値の書き込み先となる配列offset
- 最初の short 値の書き込み先となる配列内のオフセット。dst.length 以下の正の数でなければならないlength
- 指定された配列に書き込まれる short 値の最大数。dst.length - offset 以下の正の数でなければならない
BufferUnderflowException
- 現在のバッファ内に残っている short 値の数が length よりも少ない場合
IndexOutOfBoundsException
- offset パラメータと length パラメータの前提条件が満たされていない場合public ShortBuffer get(short[] dst)
このメソッドは、現在のバッファから指定された配列へ文字を転送します。このメソッドを src.get(a) の形式で呼び出すと、以下の呼び出しと同じ結果になります。
src.get(a, 0, a.length)
BufferUnderflowException
- 現在のバッファ内に残っている short 値の数が length よりも少ない場合public ShortBuffer put(ShortBuffer src)
このメソッドは、指定されたソースバッファ内に残っている short 値を現在のバッファへ転送します。ソースバッファ内に残っている short 値の数が現在のバッファ内に残っている short 値の数よりも多い場合 (src.remaining() > remaining())、short 値は一切転送されず、BufferOverflowException
がスローされます。
それ以外の場合、このメソッドは、指定されたバッファの現在位置から現在のバッファの現在位置へ n = src.remaining() 個の short 値をコピーします。そのたびに、両方のバッファの位置が n ずつ増加します。
このメソッドを dst.put(src) の形式で呼び出すと、以下のループとまったく同じ結果になります。
while (src.hasRemaining()) dst.put(src.get());ただし、現在のバッファ内に十分な容量があることを最初に確認する動作は、このメソッドに固有です。また、このメソッドのほうがループよりもずっと効率的です。
src
- short 値が読み込まれるソースバッファ (現在のバッファ以外)
BufferOverflowException
- 現在のバッファに、ソースバッファ内に残っている short 値を格納できるだけの容量がない場合
IllegalArgumentException
- ソースバッファとして現在のバッファを指定した場合
ReadOnlyBufferException
- 現在のバッファが読み込み専用バッファである場合public ShortBuffer put(short[] src, int offset, int length)
このメソッドは、指定されたソース配列から現在のバッファへ short 値を転送します。配列からコピーする short 値の数が現在のバッファ内に残っている short 値の数より多い場合 (length > remaining())、short 値は一切転送されず、BufferOverflowException
がスローされます。
それ以外の場合、このメソッドは、指定された配列の指定されたオフセット位置から現在のバッファの現在位置へ length 個の short 値をコピーします。そのたびに、現在のバッファの位置が length ずつ増加します。
このメソッドを dst.put(src, off, len) の形式で呼び出すと、以下のループとまったく同じ結果になります。
for (int i = off; i < off + len; i++) dst.put(a[i]);ただし、現在のバッファ内に十分な容量があることを最初に確認する動作は、このメソッドに固有です。また、このメソッドのほうがループよりもずっと効率的です。
offset
- 最初の short 値が読み込まれる配列内のオフセット。array.length 以下の正の数でなければならないlength
- 指定された配列から読み取られる short 値の数。array.length - offset 以下の正の数でなければならない
BufferOverflowException
- 現在のバッファ内に残っている容量が不足している場合
IndexOutOfBoundsException
- offset パラメータと length パラメータの前提条件が満たされていない場合
ReadOnlyBufferException
- 現在のバッファが読み込み専用バッファである場合public final ShortBuffer put(short[] src)
このメソッドは、ソースとなる指定された short 配列のコンテンツ全体を現在のバッファへ転送します。このメソッドを dst.put(a) の形式で呼び出すと、以下の呼び出しと同じ結果になります。
dst.put(a, 0, a.length)
BufferOverflowException
- 現在のバッファ内に残っている容量が不足している場合
ReadOnlyBufferException
- 現在のバッファが読み込み専用バッファである場合public final boolean hasArray()
このメソッドの戻り値が true であれば、array
メソッドと arrayOffset
メソッドを安全に呼び出すことができます。
public final short[] array()
現在のバッファのコンテンツに変更を加えると、返される配列のコンテンツも変更されます。その逆も同様です。
このメソッドを呼び出す前に hasArray
メソッドを呼び出し、現在のバッファがアクセス可能な補助配列を持っていることを確認します。
ReadOnlyBufferException
- 現在のバッファが配列を利用し、しかも読み込み専用である場合
UnsupportedOperationException
- 現在のバッファがアクセス可能な配列を利用しない場合public final int arrayOffset()
現在のバッファが配列を利用していれば、その位置 p が配列のインデックス p + arrayOffset() と一致します。
このメソッドを呼び出す前に hasArray
メソッドを呼び出し、現在のバッファがアクセス可能な補助配列を持っていることを確認します。
ReadOnlyBufferException
- 現在のバッファが配列を利用し、しかも読み込み専用である場合
UnsupportedOperationException
- 現在のバッファがアクセス可能な配列を利用しない場合public abstract ShortBuffer compact()
バッファの現在位置からリミットまでの間に short 値が存在する場合、これらをバッファの先頭にコピーします。つまり、インデックス位置 p = position() の short 値がインデックス 0 にコピーされ、インデックス位置 p + 1 の short 値がインデックス 1 にコピーされるということです。インデックス位置 limit() - 1 の short 値がインデックス n = limit() - 1 - p にコピーされるまで、同様の処理が繰り返されます。最終的にバッファの位置は n に設定され、リミットは容量の値と等しくなります。マークは破棄されます。
バッファの位置は、0 ではなく、コピーされる short 値の数と等しくなります。したがって、このメソッドを呼び出したあと、すぐに別の相対「put」メソッドを呼び出すことができます。
ReadOnlyBufferException
- 現在のバッファが読み込み専用バッファである場合public abstract boolean isDirect()
public String toString()
Object
内の toString
public int hashCode()
short バッファのハッシュコードは、バッファ内に残っている要素、すなわち position() 〜 limit() - 1 の要素だけに依存します。
バッファのハッシュコードはコンテンツ依存型です。今後バッファのコンテンツが変更されないことが明らかでないかぎり、バッファをハッシュマップその他のデータ構造のキーとして使用することは避けてください。
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object ob)
2 つの short バッファは、次の場合にかぎり等価です。
要素の型が同じである
バッファ内に残っている要素数が同じである
バッファ内に残っている要素のシーケンス (開始位置とは無関係) が各点で等しい (pointwise equal)
short バッファが、その他の型のオブジェクトと等価になることはありません。
Object
内の equals
ob
- 現在のバッファと比較するオブジェクト
Object.hashCode()
,
Hashtable
public int compareTo(Object ob)
2 つの short バッファを比較する際は、バッファ内に残っている要素のシーケンスが辞書順に比較されます。このとき、双方のバッファ内に残っている各シーケンスの開始位置は考慮されません。
short バッファとその他の型のオブジェクトを比較することはできません。
Comparable
内の compareTo
ob
- 比較対象の Object
ClassCastException
- 引数が short バッファではない場合public abstract ByteOrder order()
既存の short 配列の割り当てまたはラップによって作成された short バッファのバイト順序は、基本となるハードウェアのネイティブのバイト順序
と同じになります。byte バッファのビューとして作成された short バッファのバイト順序は、ビューを作成した時点の byte バッファのバイト順序と同じになります。
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.