- すべての実装されたインタフェース:
Comparable<FloatBuffer>
このクラスは、floatバッファに対する操作を4つのカテゴリに分類します。
このバッファから配列に、floatの連続したシーケンスを転送する絶対および相対
bulk get
メソッド; およびfloat配列{#if[char]?, a string,}またはその他のfloatバッファからこのバッファに連続したfloatのシーケンスを転送する絶対および相対
bulk put
メソッド。{#if [!byte]?および}floatバッファを
compacting
するためのメソッド。
floatバッファは、allocation
がバッファ・コンテンツ用の領域を割り当てるか、wrapping
が既存のfloat配列 {#if[char]?or string} をバッファに割り当てるか、または既存のbyteバッファのviewを作成することによって作成できます。
byteバッファと同様に、floatバッファにも「ダイレクト」と「非ダイレクト」があります。 このクラスのwrap
メソッドで作成されたfloatバッファは非ダイレクト・バッファになります。 byteバッファのビューとして作成されたfloatバッファは、byteバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。 floatバッファがダイレクト・バッファかどうかは、isDirect
メソッドの呼出しによって判断できます。
このクラスのメソッドのうち戻り値を返さないものは、自身を呼び出したバッファの情報を返します。 これを応用して、メソッド呼出しを連鎖させることができます。
- 導入されたバージョン:
- 1.4
-
メソッドのサマリー
修飾子と型メソッド説明static FloatBuffer
allocate(int capacity)
新しいfloatバッファを割り当てます。float[]
array()
このバッファを補助するfloat配列を返します (オプションの操作)。int
このバッファの補助配列内にある、このバッファの最初の要素のオフセットを返します (オプションの操作)。abstract FloatBuffer
このバッファの内容を共有する新しい読込み専用floatバッファを作成します。clear()
このバッファをクリアします。abstract FloatBuffer
compact()
このバッファを圧縮します (オプションの操作)。int
compareTo(FloatBuffer that)
このバッファを別のバッファと比較します。abstract FloatBuffer
このバッファの内容を共有する新しいfloatバッファを作成します。boolean
このバッファが別のオブジェクトと等価であるかどうかを判断します。flip()
このバッファをフリップ(反転)します。abstract float
get()
相対getメソッドです。get(float[] dst)
相対一括getメソッドです。get(float[] dst, int offset, int length)
相対一括getメソッドです。abstract float
get(int index)
絶対getメソッドです。get(int index, float[] dst)
絶対一括getメソッド。get(int index, float[] dst, int offset, int length)
絶対一括getメソッド。boolean
hasArray()
このバッファがアクセス可能なfloat配列に連動するかどうかを判断します。int
hashCode()
このバッファの現在のハッシュ・コードを返します。abstract boolean
isDirect()
現在のfloatバッファがダイレクト・バッファであるかどうかを判断します。limit(int newLimit)
このバッファのリミットを設定します。mark()
このバッファの現在位置にマークを設定します。int
mismatch(FloatBuffer that)
このバッファと指定されたバッファの最初の不一致の相対索引を検索して戻します。abstract ByteOrder
order()
このバッファのbyte順序を取得します。position(int newPosition)
このバッファの位置を設定します。abstract FloatBuffer
put(float f)
相対putメソッドです (オプションの操作)。put(float[] src)
相対一括putメソッドです (オプションの操作)。put(float[] src, int offset, int length)
相対一括putメソッドです (オプションの操作)。abstract FloatBuffer
put(int index, float f)
絶対putメソッドです (オプションの操作)。put(int index, float[] src)
(optional operation)の絶対一括putメソッド。put(int index, float[] src, int offset, int length)
(optional operation)の絶対一括putメソッド。put(int index, FloatBuffer src, int offset, int length)
(optional operation)の絶対一括putメソッド。put(FloatBuffer src)
相対一括putメソッドです (オプションの操作)。reset()
バッファの位置を以前にマークした位置に戻します。rewind()
このバッファをリワインド(巻き戻し)します。abstract FloatBuffer
slice()
このバッファの内容の共有サブシーケンスを内容とする新しいfloatバッファを作成します。abstract FloatBuffer
slice(int index, int length)
このバッファの内容の共有サブシーケンスを内容とする新しいfloatバッファを作成します。toString()
このバッファの状態を要約した文字列を返します。static FloatBuffer
wrap(float[] array)
float配列をバッファにラップします。static FloatBuffer
wrap(float[] array, int offset, int length)
float配列をバッファにラップします。クラス java.nio.Bufferで宣言されたメソッド
capacity, hasRemaining, isReadOnly, limit, position, remaining
-
メソッドの詳細
-
allocate
public static FloatBuffer allocate(int capacity)新しいfloatバッファを割り当てます。新しいバッファの位置は0になり、その限界はその容量になり、マークは未定義になり、各要素はゼロに初期化され、バイト・オーダーは基礎となるハードウェアの
native order
になります。補助配列
を持ち、配列オフセット
はゼロになります。- パラメータ:
capacity
- 新しいバッファの容量(float)- 戻り値:
- 新しいfloatバッファ
- 例外:
IllegalArgumentException
-capacity
が負の整数である場合
-
wrap
public static FloatBuffer wrap(float[] array, int offset, int length)float配列をバッファにラップします。新しいバッファは指定されたfloat配列によって補助されます。バッファに変更を加えると配列も変更され、配列に変更を加えるとバッファも変更されます。 新しいバッファの容量は
array.length
になり、その位置はoffset
になり、その制限はoffset + length
になり、そのマークは未定義となり、そのバイト順序は基盤となるハードウェアのnative order
になります。 指定された配列が補助配列
となり、その配列オフセット
はゼロになります。- パラメータ:
array
- 新しいバッファを補助する配列offset
-使用するサブ配列のオフセット。array.length
以下の負でない値でなければならない。 新しいバッファの位置は、この値に設定される。length
- 使用するサブ配列の長さ。array.length - offset
以下の負でない値でなければならない。 新しいバッファのリミットは、offset+length
に設定される。- 戻り値:
- 新しいfloatバッファ
- 例外:
IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合
-
wrap
public static FloatBuffer wrap(float[] array)float配列をバッファにラップします。新しいバッファは指定されたfloat配列によって補助されます。バッファに変更を加えると配列も変更され、配列に変更を加えるとバッファも変更されます。 新しいバッファの容量と限界は
array.length
になり、その位置はゼロになり、マークは未定義になり、そのバイト・オーダーは基盤となるハードウェアのnative order
になります。 指定された配列が補助配列
となり、その配列オフセット
はゼロになります。- パラメータ:
array
- このバッファを補助する配列- 戻り値:
- 新しいfloatバッファ
-
slice
public abstract FloatBuffer slice()このバッファの内容の共有サブシーケンスを内容とする新しいfloatバッファを作成します。新しいバッファの内容は、このバッファの現在位置から始まります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置はゼロになり、その容量と限界はこのバッファに残っている浮動小数点の数になり、そのマークは未定義になり、そのバイト順序はこのバッファの順序と同じになります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。
-
slice
public abstract FloatBuffer slice(int index, int length)このバッファの内容の共有サブシーケンスを内容とする新しいfloatバッファを作成します。新しいバッファの内容は、このバッファ内の
index
の位置から始まり、length
要素が含まれます。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。新しいバッファ位置はゼロ、容量とリミットは
length
、マークは未定義、バイト順序はこのバッファのものと同一です。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。- 定義:
- クラス
Buffer
のslice
- パラメータ:
index
- 新しいバッファの内容が開始される、このバッファ内の位置。limit()
以外の値である必要があります。length
- 新規バッファに含まれる要素の数。負以外でlimit() - index
より大きい値である必要があります。- 戻り値:
- 新しいバッファ
- 例外:
IndexOutOfBoundsException
-index
が、limit()
以上の場合、length
がマイナスまたはlength > limit() - index
- 導入されたバージョン:
- 13
-
複製
public abstract FloatBuffer duplicate()このバッファの内容を共有する新しいfloatバッファを作成します。新しいバッファの内容は、このバッファの内容と同じになります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファ容量、限界、位置、マーク値、およびバイト順は、このバッファのものと同じになります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。
-
asReadOnlyBuffer
public abstract FloatBuffer asReadOnlyBuffer()このバッファの内容を共有する新しい読込み専用floatバッファを作成します。新しいバッファの内容は、このバッファの内容と同じになります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。しかし、新しいバッファ自体は読取り専用であり、その共有内容を変更することはできません。 2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファ容量、限界、位置、マーク値、およびバイト順は、このバッファのものと同じになります。
このバッファ自身が読込み専用の場合は、このメソッドは
duplicate
と同じように動作します。- 戻り値:
- 新しい読込み専用floatバッファ
-
get
public abstract float get()相対getメソッドです。 バッファの現在位置にあるfloatを読み込み、現在位置の値を増加します。- 戻り値:
- バッファの現在位置のfloat
- 例外:
BufferUnderflowException
- バッファの現在位置がリミット以上である場合
-
put
public abstract FloatBuffer put(float f)相対putメソッドです (オプションの操作)。このバッファの現在位置に指定されたfloatを書き込み、現在位置を増加します。
- パラメータ:
f
- 書き込まれるfloat- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファの現在位置がリミット以上である場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
get
public abstract float get(int index)絶対getメソッドです。 指定されたインデックス位置のfloatを読み込みます。- パラメータ:
index
- floatの読込み位置を示すインデックス- 戻り値:
- 指定されたインデックス位置のfloat
- 例外:
IndexOutOfBoundsException
-index
が負の数である場合、またはバッファのリミット以上である場合
-
put
public abstract FloatBuffer put(int index, float f)絶対putメソッドです (オプションの操作)。このバッファの指定されたインデックス位置に、指定されたfloatを書き込みます。
- パラメータ:
index
- floatの書込み先を示すインデックスf
- 書き込まれるfloat値- 戻り値:
- このバッファ
- 例外:
IndexOutOfBoundsException
-index
が負の数である場合、またはバッファのリミット以上である場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
get
public FloatBuffer get(float[] dst, int offset, int length)相対一括getメソッドです。このメソッドは、このバッファから指定された配列へfloatを転送します。 このバッファ内に残っているfloat数が要求に満たない場合(つまり、
length
>
remaining()
である場合)、floatは一切転送されず、BufferUnderflowException
がスローされます。それ以外の場合、このメソッドは、
length
個のfloatを、このバッファの現在位置から指定された配列の指定されたオフセット位置へコピーします。 そのたびに、このバッファの位置がlength
ずつ増加します。このメソッドを
src.get(dst, off, len)
の形式で呼び出すと、次のループとまったく同じ結果になります。
ただし、このバッファ内に十分な数のfloatが存在することを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。for (int i = off; i < off + len; i++) dst[i] = src.get();
- パラメータ:
dst
- floatの書込み先となる配列offset
- 最初のfloatの書込み先となる配列内のオフセット。dst.length
以下の負でない値でなければならないlength
- 指定された配列に書き込まれるfloatの最大数。dst.length - offset
以下の負でない値でなければならない- 戻り値:
- このバッファ
- 例外:
BufferUnderflowException
- このバッファ内に残っているfloat数がlength
よりも少ない場合IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合
-
get
public FloatBuffer get(float[] dst)相対一括getメソッドです。このメソッドは、このバッファから指定された配列へfloatを転送します。 このメソッドを
src.get(a)
の形式で呼び出すと、次の呼び出しと同じ結果になります。src.get(a, 0, a.length)
- パラメータ:
dst
- コピー先配列- 戻り値:
- このバッファ
- 例外:
BufferUnderflowException
- このバッファ内に残っているfloat数がlength
よりも少ない場合
-
get
public FloatBuffer get(int index, float[] dst, int offset, int length)絶対一括getメソッド。このメソッドは、このバッファ内の指定されたインデックスから、配列内の指定されたオフセットから開始して、
length
floatをこのバッファから指定された配列に転送します。 このバッファの位置は変わりません。フォーム
src.get(index, dst, offset, length)
のこのメソッドを起動しても、次のループとまったく同じ効果があります。ただし、最初に提供されたパラメータの一貫性がチェックされ、それがさらに効率的である可能性があります:for (int i = offset, j = index; i < offset + length; i++, j++) dst[i] = src.get(j);
- パラメータ:
index
- 最初の浮動小数の読取り元であるこのバッファ内のインデックス。負でない、およびlimit()
より小さい必要がありますdst
- コピー先配列offset
- 最初に書き込まれる浮動小数の配列内のオフセット。dst.length
以外の値である必要があります。length
- 指定された配列に書き込まれるfloatの数。負でない値でなければならず、limit() - index
やdst.length - offset
の値より小さくてはいけません。- 戻り値:
- このバッファ
- 例外:
IndexOutOfBoundsException
-index
、offset
およびlength
パラメータの事前条件が満たされていない場合、それらを保持しません- 導入されたバージョン:
- 13
-
get
public FloatBuffer get(int index, float[] dst)絶対一括getメソッド。このメソッドは、このバッファから指定された配列へfloatを転送します。 このバッファの位置は変わりません。 フォーム
src.get(index, dst)
のこのメソッドの起動は、起動とまったく同じ方法で動作します:src.get(index, dst, 0, dst.length)
- パラメータ:
index
- 最初の浮動小数の読取り元であるこのバッファ内のインデックス。負でない、およびlimit()
より小さい必要がありますdst
- コピー先配列- 戻り値:
- このバッファ
- 例外:
IndexOutOfBoundsException
-index
が負であるか、limit()
より小さくないか、またはlimit() - index < dst.length
の場合- 導入されたバージョン:
- 13
-
put
public FloatBuffer put(FloatBuffer src)相対一括putメソッドです (オプションの操作)。このメソッドは、指定されたソース・バッファ内に残っているfloatをこのバッファへ転送します。 ソース・バッファ内に残っているfloat数がこのバッファ内に残っているfloat数よりも多い場合(つまり、
src.remaining()
>
remaining()
である場合)、floatは一切転送されず、BufferOverflowException
がスローされます。それ以外の場合、このメソッドは、指定されたバッファの現在位置からこのバッファの現在位置へn =
src.remaining()
個のfloatをコピーします。 そのたびに、両方のバッファの位置がnずつ増加します。このメソッドを
dst.put(src)
の形式で呼び出すと、次のループとまったく同じ結果になります。while (src.hasRemaining()) dst.put(src.get());
ただし、このバッファ内に十分な容量があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。 このバッファとソース・バッファが同じバッキング配列またはメモリーを共有している場合、結果は、このバッファに書き込まれる前にソース要素が最初に中間のロケーションにコピーされたかのようになります。- パラメータ:
src
- floatの読込み先となるソース・バッファ(このバッファ以外)- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファに、ソース・バッファ内に残っているfloatを格納できるだけの容量がない場合IllegalArgumentException
- ソース・バッファとしてこのバッファを指定した場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
put
public FloatBuffer put(int index, FloatBuffer src, int offset, int length)(optional operation)の絶対一括putメソッド。このメソッドは、ソース・バッファ内の指定された
offset
およびこのバッファ内の指定されたindex
からlength
floatをこのバッファに転送します。 両方のバッファの位置は変更されません。つまり、
dst.put(index, src, offset, length)
形式のこのメソッドの呼出しは、ループとまったく同じ効果があります
最初に、指定されたパラメータの一貫性をチェックし、より効率的になる可能性があることを除きます。 このバッファとソース・バッファが同じバッキング配列またはメモリーを共有している場合、結果は、このバッファに書き込まれる前にソース要素が最初に中間のロケーションにコピーされたかのようになります。for (int i = offset, j = index; i < offset + length; i++, j++) dst.put(j, src.get(i));
- パラメータ:
index
- 最初の浮動小数が書き込まれるこのバッファ内のインデックス。負でない、およびlimit()
より小さい必要がありますsrc
- floatの読取り元バッファoffset
- 読み込まれる最初のfloatのソース・バッファ内のインデックス。負ではなく、src.limit()
より小さい値である必要がありますlength
- 指定されたバッファから読み取られるfloatの数。limit() - index
およびsrc.limit() - offset
のいずれか小さい方より小さく、負でない値にする必要があります- 戻り値:
- このバッファ
- 例外:
IndexOutOfBoundsException
-index
、offset
およびlength
パラメータの事前条件が満たされていない場合、それらを保持しませんReadOnlyBufferException
- このバッファが読込み専用である場合- 導入されたバージョン:
- 16
-
put
public FloatBuffer put(float[] src, int offset, int length)相対一括putメソッドです (オプションの操作)。このメソッドは、指定されたソース配列からこのバッファへfloatを転送します。 配列からコピーするfloat数がこのバッファ内に残っているfloat数より多い場合(つまり、
length
>
remaining()
である場合)、floatは一切転送されず、BufferOverflowException
がスローされます。それ以外の場合、このメソッドは、指定された配列の指定されたオフセット位置からこのバッファの現在位置へ
length
個のfloatをコピーします。 そのたびに、このバッファの位置がlength
ずつ増加します。このメソッドを
dst.put(src, off, len)
の形式で呼び出すと、次のループとまったく同じ結果になります。
ただし、このバッファ内に十分な容量があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。for (int i = off; i < off + len; i++) dst.put(src[i]);
- パラメータ:
src
- floatの読込み先となる配列offset
- 最初に読み込まれる浮動小数の配列内のオフセット。src.length
より小さくない、または大きくないでくださいlength
- 指定された配列から読み取られるfloatの数。負以外で、src.length - offset
以外の値である必要があります。- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
put
public final FloatBuffer put(float[] src)相対一括putメソッドです (オプションの操作)。このメソッドは、ソースとなる指定されたfloat配列の内容全体をこのバッファへ転送します。 このメソッドを
dst.put(a)
の形式で呼び出すと、次の呼び出しと同じ結果になります。dst.put(a, 0, a.length)
- パラメータ:
src
- 転送元配列- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
put
public FloatBuffer put(int index, float[] src, int offset, int length)(optional operation)の絶対一括putメソッド。このメソッドは、指定された配列から
length
floatを転送します。これは配列内の指定されたオフセットから開始し、このバッファ内の指定されたインデックスから開始します。 このバッファの位置は変わりません。フォーム
dst.put(index, src, offset, length)
のこのメソッドを起動しても、次のループとまったく同じ効果があります。ただし、最初に提供されたパラメータの一貫性がチェックされ、それがさらに効率的である可能性があります:for (int i = offset, j = index; i < offset + length; i++, j++) dst.put(j, src[i]);
- パラメータ:
index
- 最初の浮動小数が書き込まれるこのバッファ内のインデックス。負でない、およびlimit()
より小さい必要がありますsrc
- floatの読込み先となる配列offset
- 最初に読み込まれる浮動小数の配列内のオフセット。src.length
より短く、小さくする必要があります。length
- 指定された配列から読み取られるfloatの数。負でない値で、limit() - index
およびsrc.length - offset
の値より小さくない値である必要があります。- 戻り値:
- このバッファ
- 例外:
IndexOutOfBoundsException
-index
、offset
およびlength
パラメータの事前条件が満たされていない場合、それらを保持しませんReadOnlyBufferException
- このバッファが読込み専用である場合- 導入されたバージョン:
- 13
-
put
public FloatBuffer put(int index, float[] src)(optional operation)の絶対一括putメソッド。このメソッドは、指定されたソース配列からこのバッファにfloatをコピーします。 このバッファの位置は変わりません。 フォーム
dst.put(index, src)
のこのメソッドの起動は、起動とまったく同じ方法で動作します:dst.put(index, src, 0, src.length);
- パラメータ:
index
- 最初の浮動小数が書き込まれるこのバッファ内のインデックス。負でない、およびlimit()
より小さい必要がありますsrc
- floatの読込み先となる配列- 戻り値:
- このバッファ
- 例外:
IndexOutOfBoundsException
-index
が負であるか、limit()
より小さくないか、またはlimit() - index < src.length
の場合ReadOnlyBufferException
- このバッファが読込み専用である場合- 導入されたバージョン:
- 13
-
hasArray
public final boolean hasArray()このバッファがアクセス可能なfloat配列に連動するかどうかを判断します。このメソッドの戻り値が
true
であれば、array
およびarrayOffset
メソッドを安全に呼び出すことができます。 -
array
public final float[] array()このバッファを補助するfloat配列を返します (オプションの操作)。このバッファの内容に変更を加えると、返される配列の内容も変更されます。その逆も同様です。
このメソッドを呼び出す前に
hasArray
メソッドを呼び出し、このバッファがアクセス可能な補助配列を持っていることを確認します。- 定義:
array
、クラス:Buffer
- 戻り値:
- このバッファを補助する配列
- 例外:
ReadOnlyBufferException
- このバッファが配列に連動しており、しかも読込み専用である場合UnsupportedOperationException
- このバッファがアクセス可能な配列を利用しない場合
-
arrayOffset
public final int arrayOffset()このバッファの補助配列内にある、このバッファの最初の要素のオフセットを返します (オプションの操作)。このバッファが配列に連動していれば、その位置pが配列のインデックスp +
arrayOffset()
と一致します。このメソッドを呼び出す前に
hasArray
メソッドを呼び出し、このバッファがアクセス可能な補助配列を持っていることを確認します。- 定義:
arrayOffset
、クラス:Buffer
- 戻り値:
- このバッファの配列内にある、このバッファの最初の要素のオフセット
- 例外:
ReadOnlyBufferException
- このバッファが配列に連動しており、しかも読込み専用である場合UnsupportedOperationException
- このバッファがアクセス可能な配列を利用しない場合
-
position
public final FloatBuffer position(int newPosition)このバッファの位置を設定します。 新しい位置の値よりもマークの値のほうが大きい場合、マークの定義は破棄されます。 -
limit
public final FloatBuffer limit(int newLimit)このバッファのリミットを設定します。 位置の値が新しいリミットより大きい場合、リミットと同じ値に変更されます。 マークの値が新しいリミットより大きい場合、マークの定義は破棄されます。 -
mark
public final FloatBuffer mark()このバッファの現在位置にマークを設定します。 -
reset
public final FloatBuffer reset()バッファの位置を以前にマークした位置に戻します。このメソッドを呼び出しても、マークの値は変更されません。マークが破棄されることもありません。
-
clear
public final FloatBuffer clear()このバッファをクリアします。 バッファの位置はゼロ、リミットは容量の値に設定されます。マークは破棄されます。一連のチャネル読込み操作または「put」操作を使用してこのバッファにデータを格納する前に、このメソッドを呼び出します。 次に例を示します。
buf.clear(); // Prepare buffer for reading in.read(buf); // Read data
このメソッドはバッファ内のデータを実際に消去するわけではありません。しかし、そうした状況で使用されるため、クリアと命名されています。
-
flip
public final FloatBuffer flip()このバッファをフリップ(反転)します。 リミットは現在位置の値に設定され、現在位置を表す値はゼロに設定されます。 マークが定義されている場合、そのマークは破棄されます。一連のチャネル読込み操作(put)のあと、このメソッドを呼び出してチャネル書込み操作(相対「get」)の準備を行います。 次に例を示します。
buf.put(magic); // Prepend header in.read(buf); // Read data into rest of buffer buf.flip(); // Flip buffer out.write(buf); // Write header + data to channel
ある場所から別の場所にデータを転送する際、このメソッドを
compact
メソッドと組み合わせて使用することがあります。 -
rewind
public final FloatBuffer rewind()このバッファをリワインド(巻き戻し)します。 位置はゼロに設定され、マークは破棄されます。このメソッドは、リミットを正しく設定したあと、一連のチャネル書込み操作(get)の前に呼び出します。 次に例を示します。
out.write(buf); // Write remaining data buf.rewind(); // Rewind buffer buf.get(array); // Copy data into array
-
compact
public abstract FloatBuffer compact()このバッファを圧縮します (オプションの操作)。バッファの現在位置からリミットまでの間にfloatが存在する場合、これらをバッファの先頭にコピーします。 つまり、インデックス位置p =
position()
のfloatがインデックス・ゼロにコピーされ、インデックス位置p + 1のfloatがインデックス1にコピーされるということです。インデックス位置limit()
- 1のfloatがインデックスn =limit()
-1
- pにコピーされるまで、同様の処理が繰り返されます。 最終的にバッファの位置はn+1に設定され、リミットは容量の値と等しくなります。 マークは破棄されます。バッファの位置は、ゼロではなく、コピーされるfloatの数と等しくなります。したがって、このメソッドを呼び出したあと、すぐに別の相対「put」メソッドを呼び出すことができます。
- 戻り値:
- このバッファ
- 例外:
ReadOnlyBufferException
- このバッファが読込み専用である場合
-
isDirect
public abstract boolean isDirect()現在のfloatバッファがダイレクト・バッファであるかどうかを判断します。 -
toString
public String toString()このバッファの状態を要約した文字列を返します。 -
hashCode
public int hashCode()このバッファの現在のハッシュ・コードを返します。floatバッファのハッシュ・コードは、バッファ内に残っている要素、すなわち
position()
からlimit()
-1
までの要素のみに依存します。バッファのハッシュ・コードは内容依存型です。今後バッファの内容が変更されないことが明らかでないかぎり、バッファをハッシュ・マップその他のデータ構造のキーとして使用することは避けてください。
- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このバッファの現在のハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object ob)このバッファが別のオブジェクトと等価であるかどうかを判断します。2つのfloatバッファは、次の場合にかぎり等価です。
要素の型が同じである
バッファ内に残っている要素数が同じである
バッファ内に残っている要素のシーケンス(開始位置とは無関係)が各点で等しい(pointwise equal)
(a == b)||(Float.isNaN(a)&& Float.isNaN(b))
の場合、このメソッドでは2つのfloat要素a
とb
は等価とみなされます。Float.equals(Object)
とは異なり、値-0.0
と+0.0
は等価とみなされます。
floatバッファが、その他の型のオブジェクトと等価になることはありません。
- オーバーライド:
equals
、クラス:Object
- パラメータ:
ob
- このバッファと比較するオブジェクト- 戻り値:
- このバッファが指定されたオブジェクトと等価である場合にかぎり
true
- 関連項目:
Object.hashCode()
、HashMap
-
compareTo
public int compareTo(FloatBuffer that)このバッファを別のバッファと比較します。2つのfloatバッファを比較する際は、バッファ内に残っている要素のシーケンスが辞書順に比較されます。このとき、双方のバッファ内に残っているシーケンスの開始位置は考慮されません。
float
要素のペアは、Float.compare(float,float)
を呼び出すことによって比較されます。ただし、-0.0
と0.0
は等価と見なされます。 このメソッドでは、Float.NaN
は自身に等しく、ほかのすべてのfloat
値(Float.POSITIVE_INFINITY
を含む)よりも大きいとみなされる。floatバッファとその他の型のオブジェクトを比較することはできません。
- 定義:
compareTo
、インタフェース:Comparable<FloatBuffer>
- パラメータ:
that
- 比較対象のオブジェクト。- 戻り値:
- このバッファが指定されたバッファより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
-
mismatch
public int mismatch(FloatBuffer that)このバッファと指定されたバッファの最初の不一致の相対索引を検索して戻します。 インデックスは各バッファのposition
に相対的であり、各バッファ(inclusive)の範囲が各バッファremaining
の範囲内で小さくなる。2つのバッファが共通プレフィクスを共有している場合、戻される索引は共通プレフィクスの長さとなり、各バッファ内のその索引の2つのバッファ間に不一致があることに従います。 一方のバッファがもう一方のバッファのプレフィクスである場合、戻された索引は各バッファ内の残りの要素の小さい方になり、残りの要素の数が多いバッファに対してのみ索引が有効になります。 それ以外の場合は、不一致はありません。
- パラメータ:
that
- このバッファと不一致をテストするためのバイト・バッファ- 戻り値:
- このバッファと指定されたバッファの最初の不一致の相対索引です。一致しない場合は -1です。
- 導入されたバージョン:
- 11
-
order
public abstract ByteOrder order()このバッファのbyte順序を取得します。割り当てまたは既存の
float
配列のラップによって作成されたfloatバッファのbyte順序は、基礎となるハードウェアのネイティブ順序
と同じになります。 byteバッファのビューとして作成されたfloatバッファのbyte順序は、ビューを作成した時点のbyteバッファのbyte順序と同じになります。- 戻り値:
- このバッファのbyte順序
-