- java.lang.Object
-
- java.nio.Buffer
-
- java.nio.ShortBuffer
-
- すべての実装されたインタフェース:
Comparable<ShortBuffer>
public abstract class ShortBuffer extends Buffer implements Comparable<ShortBuffer>
shortバッファです。このクラスは、shortバッファに対する操作を4つのカテゴリに分類します。
連続したshortシーケンスをこのバッファから配列へと転送する相対
一括get
メソッド。連続したshortシーケンスをshort配列やその他のshortバッファからこのバッファへと転送する相対
一括put
メソッド。ショート・バッファの
compacting
のメソッド。
shortバッファを作成するには、バッファの内容に容量を割り当てる
割り当て
を実行するか、既存のshort配列をバッファ内にラップ
するか、既存のbyteバッファのビューを作成します。byteバッファと同様に、shortバッファにも「ダイレクト」と「非ダイレクト」があります。 このクラスの
wrap
メソッドで作成されたshortバッファは非ダイレクト・バッファになります。 byteバッファのビューとして作成されたshortバッファは、byteバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。 shortバッファがダイレクト・バッファかどうかは、isDirect
メソッドの呼出しによって判断できます。このクラスのメソッドのうち戻り値を返さないものは、自身を呼び出したバッファの情報を返します。 これを応用して、メソッド呼出しを連鎖させることができます。
- 導入されたバージョン:
- 1.4
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 static ShortBuffer
allocate(int capacity)
新しいshortバッファを割り当てます。short[]
array()
このバッファを補助するshort配列を返します (オプションの操作)。int
arrayOffset()
このバッファの補助配列内にある、このバッファの最初の要素のオフセットを返します (オプションの操作)。abstract ShortBuffer
asReadOnlyBuffer()
このバッファの内容を共有する新しい読込み専用shortバッファを作成します。abstract ShortBuffer
compact()
このバッファを圧縮します (オプションの操作)。int
compareTo(ShortBuffer that)
このバッファを別のバッファと比較します。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バッファがダイレクト・バッファであるかどうかを判断します。int
mismatch(ShortBuffer that)
このバッファと指定されたバッファの最初の不一致の相対索引を検索して戻します。abstract ByteOrder
order()
このバッファのbyte順序を取得します。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配列をバッファにラップします。
-
-
-
メソッドの詳細
-
allocate
public static ShortBuffer allocate(int capacity)
新しいshortバッファを割り当てます。新しいバッファの位置は0になり、その限界はその容量になり、マークは未定義になり、各要素はゼロに初期化され、バイト・オーダーは基礎となるハードウェアの
native order
になります。補助配列
を持ち、配列オフセット
はゼロになります。- パラメータ:
capacity
- 新しいバッファの容量(short)- 戻り値:
- 新しいshortバッファ
- 例外:
IllegalArgumentException
-capacity
が負の整数である場合
-
wrap
public static ShortBuffer wrap(short[] array, int offset, int length)
short配列をバッファにラップします。新しいバッファは指定されたshort配列によって補助されます。バッファに変更を加えると配列も変更され、配列に変更を加えるとバッファも変更されます。 新しいバッファの容量は
array.length
になり、その位置はoffset
になり、その制限はoffset + length
になり、そのマークは未定義となり、そのバイト順序は基盤となるハードウェアのnative order
になります。 指定された配列が補助配列
となり、その配列オフセット
はゼロになります。- パラメータ:
array
- 新しいバッファを補助する配列offset
-使用するサブ配列のオフセット。array.length
以下の負でない値でなければならない。 新しいバッファの位置は、この値に設定される。length
- 使用するサブ配列の長さ。array.length - offset
以下の負でない値でなければならない。 新しいバッファのリミットは、offset+length
に設定される。- 戻り値:
- 新しいshortバッファ
- 例外:
IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合
-
wrap
public static ShortBuffer wrap(short[] array)
short配列をバッファにラップします。新しいバッファは指定されたshort配列によって補助されます。バッファに変更を加えると配列も変更され、配列に変更を加えるとバッファも変更されます。 新しいバッファの容量と限界は
array.length
になり、その位置はゼロになり、マークは未定義になり、そのバイト・オーダーは基盤となるハードウェアのnative order
になります。 指定された配列が補助配列
となり、その配列オフセット
はゼロになります。- パラメータ:
array
- このバッファを補助する配列- 戻り値:
- 新しいshortバッファ
-
slice
public abstract ShortBuffer slice()
このバッファの内容の共有サブシーケンスを内容とする新しいshortバッファを作成します。新しいバッファの内容は、このバッファの現在位置から始まります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置はゼロになり、その容量と限界はこのバッファに残っているshortの数になり、そのマークは未定義になり、そのバイト順序はこのバッファの順序と同じになります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。
-
duplicate
public abstract ShortBuffer duplicate()
このバッファの内容を共有する新しいshortバッファを作成します。新しいバッファの内容は、このバッファの内容と同じになります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファ容量、限界、位置、マーク値、およびバイト順は、このバッファのものと同じになります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。
-
asReadOnlyBuffer
public abstract ShortBuffer asReadOnlyBuffer()
このバッファの内容を共有する新しい読込み専用shortバッファを作成します。新しいバッファの内容は、このバッファの内容と同じになります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。しかし、新しいバッファ自体は読取り専用であり、その共有内容を変更することはできません。 2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファ容量、限界、位置、マーク値、およびバイト順は、このバッファのものと同じになります。
このバッファ自身が読込み専用の場合は、このメソッドは
duplicate
と同じように動作します。- 戻り値:
- 新しい読込み専用shortバッファ
-
get
public abstract short get()
相対getメソッドです。 このバッファの現在位置のshortを読み込み、現在位置を増加します。- 戻り値:
- バッファの現在位置のshort
- 例外:
BufferUnderflowException
- バッファの現在位置がリミット以上である場合
-
put
public abstract ShortBuffer put(short s)
相対putメソッドです (オプションの操作)。このバッファの現在位置に指定されたshortを書き込み、現在位置を増加します。
- パラメータ:
s
- 書き込まれるshort- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファの現在位置がリミット以上である場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
get
public abstract short get(int index)
絶対getメソッドです。 指定されたインデックス位置のshortを読み込みます。- パラメータ:
index
- shortの読込み位置を示すインデックス- 戻り値:
- 指定されたインデックス位置のshort
- 例外:
IndexOutOfBoundsException
-index
が負の数である場合、またはバッファのリミット以上である場合
-
put
public abstract ShortBuffer put(int index, short s)
絶対putメソッドです (オプションの操作)。このバッファの指定されたインデックス位置に指定されたshortを書き込みます。
- パラメータ:
index
- shortの書込み先を示すインデックスs
- 書き込まれるshort値- 戻り値:
- このバッファ
- 例外:
IndexOutOfBoundsException
-index
が負の数である場合、またはバッファのリミット以上である場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
get
public ShortBuffer get(short[] dst, int offset, int length)
相対一括getメソッドです。このメソッドは、このバッファから指定された配列へshortを転送します。 このバッファ内に残っているshort数が要求に満たない場合(つまり、
length
>
remaining()
である場合)、shortは一切転送されず、BufferUnderflowException
がスローされます。それ以外の場合、このメソッドは、
length
個のshortを、このバッファの現在位置から指定された配列の指定されたオフセット位置へコピーします。 そのたびに、このバッファの位置がlength
ずつ増加します。このメソッドを
src.get(dst, off, len)
の形式で呼び出すと、次のループとまったく同じ結果になります。
ただし、このバッファ内に十分な数のshortが存在することを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。for (int i = off; i < off + len; i++) dst[i] = src.get();
- パラメータ:
dst
- shortの書込み先となる配列offset
- 最初のshortの書込み先となる配列内のオフセット。dst.length
以下の負でない値でなければならないlength
- 指定された配列に書き込まれるshortの最大数。dst.length - offset
以下の負でない値でなければならない- 戻り値:
- このバッファ
- 例外:
BufferUnderflowException
- このバッファ内に残っているshort数がlength
よりも少ない場合IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合
-
get
public ShortBuffer get(short[] dst)
相対一括getメソッドです。このメソッドは、このバッファから指定された配列へshortを転送します。 このメソッドを
src.get(a)
の形式で呼び出すと、次の呼び出しと同じ結果になります。src.get(a, 0, a.length)
- パラメータ:
dst
- コピー先配列- 戻り値:
- このバッファ
- 例外:
BufferUnderflowException
- このバッファ内に残っているshort数がlength
よりも少ない場合
-
put
public ShortBuffer put(ShortBuffer src)
相対一括putメソッドです (オプションの操作)。このメソッドは、指定されたソース・バッファ内に残っている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
- このバッファが読込み専用である場合
-
put
public ShortBuffer put(short[] src, int offset, int length)
相対一括putメソッドです (オプションの操作)。このメソッドは、指定されたソース配列からこのバッファへ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]);
- パラメータ:
src
- shortの読込み先となる配列offset
- 最初のshortの読込み先となる配列内のオフセット。array.length
以下の負でない値にする必要があるlength
- 指定された配列から読み取られるshortの数。array.length - offset
以下の負でない値でなければならない- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
put
public final ShortBuffer put(short[] src)
相対一括putメソッドです (オプションの操作)。このメソッドは、ソースとなる指定されたshort配列の内容全体をこのバッファへ転送します。 このメソッドを
dst.put(a)
の形式で呼び出すと、次の呼び出しと同じ結果になります。dst.put(a, 0, a.length)
- パラメータ:
src
- 転送元配列- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
hasArray
public final boolean hasArray()
このバッファがアクセス可能なshort配列に連動するかどうかを判断します。このメソッドの戻り値が
true
であれば、array
およびarrayOffset
メソッドを安全に呼び出すことができます。
-
array
public final short[] array()
このバッファを補助するshort配列を返します (オプションの操作)。このバッファの内容に変更を加えると、返される配列の内容も変更されます。その逆も同様です。
このメソッドを呼び出す前に
hasArray
メソッドを呼び出し、このバッファがアクセス可能な補助配列を持っていることを確認します。- 定義:
array
、クラスBuffer
- 戻り値:
- このバッファを補助する配列
- 例外:
ReadOnlyBufferException
- このバッファが配列に連動しており、しかも読込み専用である場合UnsupportedOperationException
- このバッファがアクセス可能な配列を利用しない場合
-
arrayOffset
public final int arrayOffset()
このバッファの補助配列内にある、このバッファの最初の要素のオフセットを返します (オプションの操作)。このバッファが配列に連動していれば、その位置pが配列のインデックスp +
arrayOffset()
と一致します。このメソッドを呼び出す前に
hasArray
メソッドを呼び出し、このバッファがアクセス可能な補助配列を持っていることを確認します。- 定義:
arrayOffset
、クラスBuffer
- 戻り値:
- このバッファの配列内にある、このバッファの最初の要素のオフセット
- 例外:
ReadOnlyBufferException
- このバッファが配列に連動しており、しかも読込み専用である場合UnsupportedOperationException
- このバッファがアクセス可能な配列を利用しない場合
-
compact
public abstract ShortBuffer compact()
このバッファを圧縮します (オプションの操作)。バッファの現在位置からリミットまでの間にshortが存在する場合、これらをバッファの先頭にコピーします。 つまり、インデックス位置p =
position()
のshortがインデックス・ゼロにコピーされ、インデックス位置p + 1のshortがインデックス1にコピーされるということです。インデックス位置limit()
- 1のshortがインデックスn =limit()
-1
- pにコピーされるまで、同様の処理が繰り返されます。 最終的にバッファの位置はn+1に設定され、リミットは容量の値と等しくなります。 マークは破棄されます。バッファの位置は、ゼロではなく、コピーされるshortの数と等しくなります。したがって、このメソッドを呼び出したあと、すぐに別の相対「put」メソッドを呼び出すことができます。
- 戻り値:
- このバッファ
- 例外:
ReadOnlyBufferException
- このバッファが読込み専用である場合
-
isDirect
public abstract boolean isDirect()
現在のshortバッファがダイレクト・バッファであるかどうかを判断します。
-
hashCode
public int hashCode()
このバッファの現在のハッシュ・コードを返します。shortバッファのハッシュ・コードは、バッファ内に残っている要素、すなわち
position()
からlimit()
-1
までの要素のみに依存します。バッファのハッシュ・コードは内容依存型です。今後バッファの内容が変更されないことが明らかでないかぎり、バッファをハッシュ・マップその他のデータ構造のキーとして使用することは避けてください。
- オーバーライド:
hashCode
、クラスObject
- 戻り値:
- このバッファの現在のハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object ob)
このバッファが別のオブジェクトと等価であるかどうかを判断します。2つのshortバッファは、次の場合にかぎり等価です。
要素の型が同じである
バッファ内に残っている要素数が同じである
バッファ内に残っている要素のシーケンス(開始位置とは無関係)が各点で等しい(pointwise equal)
shortバッファが、その他の型のオブジェクトと等価になることはありません。
- オーバーライド:
equals
、クラスObject
- パラメータ:
ob
- このバッファと比較するオブジェクト- 戻り値:
- このバッファが指定されたオブジェクトと等価である場合にかぎり
true
- 関連項目:
Object.hashCode()
、HashMap
-
compareTo
public int compareTo(ShortBuffer that)
このバッファを別のバッファと比較します。2つのshortバッファを比較する際は、バッファ内に残っている要素のシーケンスが辞書順に比較されます。このとき、双方のバッファ内に残っているシーケンスの開始位置は考慮されません。
Short.compare(short,short)
を呼び出したかのように、short
要素のペアが比較されます。shortバッファとその他の型のオブジェクトを比較することはできません。
- 定義:
compareTo
、インタフェースComparable<ShortBuffer>
- パラメータ:
that
- 比較対象のオブジェクト。- 戻り値:
- このバッファが指定されたバッファより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
-
mismatch
public int mismatch(ShortBuffer that)
このバッファと指定されたバッファの最初の不一致の相対索引を検索して戻します。 インデックスは各バッファのposition
に相対的であり、各バッファ(inclusive)の範囲が各バッファremaining
の範囲内で小さくなる。2つのバッファが共通プレフィクスを共有している場合、戻される索引は共通プレフィクスの長さとなり、各バッファ内のその索引の2つのバッファ間に不一致があることに従います。 一方のバッファがもう一方のバッファのプレフィクスである場合、戻された索引は各バッファ内の残りの要素の小さい方になり、残りの要素の数が多いバッファに対してのみ索引が有効になります。 それ以外の場合は、不一致はありません。
- パラメータ:
that
- このバッファと不一致をテストするためのバイト・バッファ- 戻り値:
- このバッファと指定されたバッファの最初の不一致の相対索引です。一致しない場合は -1です。
- 導入されたバージョン:
- 11
-
-