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