モジュール java.base
パッケージ java.nio

クラスFloatBuffer

java.lang.Object
java.nio.Buffer
java.nio.FloatBuffer
すべての実装されたインタフェース:
Comparable<FloatBuffer>

public abstract class FloatBuffer extends Buffer implements Comparable<FloatBuffer>
floatバッファです。

このクラスは、floatバッファに対する操作を4つのカテゴリに分類します。

  • 単一float値の読み込みと書込みを行う絶対および相対get/putメソッド。

  • このバッファから配列に、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
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    allocate​(int capacity)
    新しいfloatバッファを割り当てます。
    float[]
    このバッファを補助するfloat配列を返します  (オプションの操作)
    int
    このバッファの補助配列内にある、このバッファの最初の要素のオフセットを返します  (オプションの操作)
    abstract FloatBuffer
    このバッファの内容を共有する新しい読込み専用floatバッファを作成します。
    このバッファをクリアします。
    abstract FloatBuffer
    このバッファを圧縮します  (オプションの操作)
    int
    このバッファを別のバッファと比較します。
    abstract FloatBuffer
    このバッファの内容を共有する新しいfloatバッファを作成します。
    boolean
    equals​(Object ob)
    このバッファが別のオブジェクトと等価であるかどうかを判断します。
    このバッファをフリップ(反転)します。
    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
    このバッファがアクセス可能なfloat配列に連動するかどうかを判断します。
    int
    このバッファの現在のハッシュ・コードを返します。
    abstract boolean
    現在のfloatバッファがダイレクト・バッファであるかどうかを判断します。
    limit​(int newLimit)
    このバッファのリミットを設定します。
    このバッファの現在位置にマークを設定します。
    int
    このバッファと指定されたバッファの最初の不一致の相対索引を検索して戻します。
    abstract ByteOrder
    このバッファの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メソッドです  (オプションの操作)
    バッファの位置を以前にマークした位置に戻します。
    このバッファをリワインド(巻き戻し)します。
    abstract FloatBuffer
    このバッファの内容の共有サブシーケンスを内容とする新しいfloatバッファを作成します。
    abstract FloatBuffer
    slice​(int index, int length)
    このバッファの内容の共有サブシーケンスを内容とする新しいfloatバッファを作成します。
    このバッファの状態を要約した文字列を返します。
    wrap​(float[] array)
    float配列をバッファにラップします。
    wrap​(float[] array, int offset, int length)
    float配列をバッファにラップします。

    クラス java.nio.Bufferで宣言されたメソッド

    capacity, hasRemaining, isReadOnly, limit, position, remaining

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • メソッドの詳細

    • 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つのバッファの位置、リミット、マークの値はそれぞれ異なります。

      新しいバッファの位置はゼロになり、その容量と限界はこのバッファに残っている浮動小数点の数になり、そのマークは未定義になり、そのバイト順序はこのバッファの順序と同じになります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。

      定義:
      クラスBufferslice
      戻り値:
      新しいfloatバッファ
    • slice

      public abstract FloatBuffer slice(int index, int length)
      このバッファの内容の共有サブシーケンスを内容とする新しいfloatバッファを作成します。

      新しいバッファの内容は、このバッファ内のindexの位置から始まり、length要素が含まれます。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。

      新しいバッファ位置はゼロ、容量とリミットはlength、マークは未定義、バイト順序はこのバッファのものと同一です。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。

      定義:
      クラスBufferslice
      パラメータ:
      index - 新しいバッファの内容が開始される、このバッファ内の位置。limit()以外の値である必要があります。
      length - 新規バッファに含まれる要素の数。負以外でlimit() - indexより大きい値である必要があります。
      戻り値:
      新しいバッファ
      例外:
      IndexOutOfBoundsException - indexが、limit()以上の場合、lengthがマイナスまたはlength > limit() - index
      導入されたバージョン:
      13
    • 複製

      public abstract FloatBuffer duplicate()
      このバッファの内容を共有する新しいfloatバッファを作成します。

      新しいバッファの内容は、このバッファの内容と同じになります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。

      新しいバッファ容量、限界、位置、マーク値、およびバイト順は、このバッファのものと同じになります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。

      定義:
      クラスBufferduplicate
      戻り値:
      新しいfloatバッファ
    • 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)の形式で呼び出すと、次のループとまったく同じ結果になります。

      
           for (int i = off; i < off + len; i++)
               dst[i] = src.get();
       
      ただし、このバッファ内に十分な数のfloatが存在することを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。

      パラメータ:
      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() - indexdst.length - offsetの値より小さくてはいけません。
      戻り値:
      このバッファ
      例外:
      IndexOutOfBoundsException - indexoffsetおよび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 - indexoffsetおよび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 - indexoffsetおよび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メソッドを安全に呼び出すことができます。

      定義:
      hasArray、クラス: Buffer
      戻り値:
      このバッファが配列に連動しており、読取り専用でない場合にかぎりtrue
    • 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)
      このバッファの位置を設定します。 新しい位置の値よりもマークの値のほうが大きい場合、マークの定義は破棄されます。
      オーバーライド:
      クラスBufferposition
      パラメータ:
      newPosition - 新しい位置の値は、現在のリミット以下の負でない値でなければならない
      戻り値:
      このバッファ
    • limit

      public final FloatBuffer limit(int newLimit)
      このバッファのリミットを設定します。 位置の値が新しいリミットより大きい場合、リミットと同じ値に変更されます。 マークの値が新しいリミットより大きい場合、マークの定義は破棄されます。
      オーバーライド:
      クラスBufferlimit
      パラメータ:
      newLimit - 新しいリミット値は、このバッファの容量以下の負でない値でなければならない
      戻り値:
      このバッファ
    • mark

      public final FloatBuffer mark()
      このバッファの現在位置にマークを設定します。
      オーバーライド:
      クラスBuffermark
      戻り値:
      このバッファ
    • reset

      public final FloatBuffer reset()
      バッファの位置を以前にマークした位置に戻します。

      このメソッドを呼び出しても、マークの値は変更されません。マークが破棄されることもありません。

      オーバーライド:
      クラスBufferreset
      戻り値:
      このバッファ
    • clear

      public final FloatBuffer clear()
      このバッファをクリアします。 バッファの位置はゼロ、リミットは容量の値に設定されます。マークは破棄されます。

      一連のチャネル読込み操作または「put」操作を使用してこのバッファにデータを格納する前に、このメソッドを呼び出します。 次に例を示します。

       buf.clear();     // Prepare buffer for reading
       in.read(buf);    // Read data

      このメソッドはバッファ内のデータを実際に消去するわけではありません。しかし、そうした状況で使用されるため、クリアと命名されています。

      オーバーライド:
      クラスBufferclear
      戻り値:
      このバッファ
    • 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メソッドと組み合わせて使用することがあります。

      オーバーライド:
      クラスBufferflip
      戻り値:
      このバッファ
    • rewind

      public final FloatBuffer rewind()
      このバッファをリワインド(巻き戻し)します。 位置はゼロに設定され、マークは破棄されます。

      このメソッドは、リミットを正しく設定したあと、一連のチャネル書込み操作(get)の前に呼び出します。 次に例を示します。

       out.write(buf);    // Write remaining data
       buf.rewind();      // Rewind buffer
       buf.get(array);    // Copy data into array

      オーバーライド:
      クラスBufferrewind
      戻り値:
      このバッファ
    • 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バッファがダイレクト・バッファであるかどうかを判断します。
      定義:
      isDirect、クラス: Buffer
      戻り値:
      このバッファがダイレクト・バッファである場合にかぎりtrue
    • toString

      public String toString()
      このバッファの状態を要約した文字列を返します。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      サマリー文字列
    • 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バッファは、次の場合にかぎり等価です。

      1. 要素の型が同じである

      2. バッファ内に残っている要素数が同じである

      3. バッファ内に残っている要素のシーケンス(開始位置とは無関係)が各点で等しい(pointwise equal) (a == b)||(Float.isNaN(a)&& Float.isNaN(b))の場合、このメソッドでは2つのfloat要素abは等価とみなされます。 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.00.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順序