(クラス)
基本的な基になる Array 型。要素へのアクセスは Array-of よりも高速ですが、FastArray の最大容量はその作成時点で固定され、利用できるメソッドのセットもそれほど多くはありません。
t: その要素の型。
default: | 要素として引数を持つ FastArray を作成および初期化します。 |
ファクトリ public | {FastArray-of.default max-size:int = -1, ...:t}:{FastArray-of t} |
from-size: | max-size の要素スロットの空間を持つ FastArray を作成および初期化します。 |
ファクトリ public | {FastArray-of.from-size size:int,initial-value:t,max-size:int = size }:{FastArray-of t} |
public final | {FastArray-of.append e:t}:void |
clear: | サイズを 0 に設定して、すべての要素を配列から削除します。 |
public final | {FastArray-of.clear}:void |
clone: | self のシャローコピー(shallow copy)を返します。要素自体はコピーされません。 |
clone-range: | start から始まる length 個の要素を使用して self から新しい FastArray を作成します。 |
public final | {FastArray-of.copy-into}:void |
equal?: | 以下の場合に true を返します。
{type-of a2} == {type-of self} and
a2.size == self.size
上の式を満たし、a2 の各要素が、self 内の対応する要素と等しい場合です。 |
public final | {FastArray-of.find e:t,equality-proc:#{proc-type {t, t}:bool} = null,search-direction:SearchDirection = SearchDirection.forward,starting-index:int = {if search-direction == SearchDirection.forward
then
0
else
self.size - 1
} }:int |
public final inline | {FastArray-of.get index:int}:t |
insert: | self 内の index で指定された位置の直前に e を挿入します。 |
public final | {FastArray-of.insert e:t, index:int}:void |
pop: | self の最後から要素を削除して返します。 |
public final | {FastArray-of.pop}:t |
push: | self の最後に e をプッシュします。 |
public final | {FastArray-of.push e:t}:void |
remove: | index 要素から始まる length 個の要素を self から削除します。 |
public final | {FastArray-of.remove index:int, length:int = 1}:void |
public final | {FastArray-of.reverse}:void |
set: | index で示される要素が element になるように設定します。 |
public final inline | {FastArray-of.set index:int, element:t}:void |
public final | {FastArray-of.set-size new-size:int, initial-value:t}:void |
sort: | self の要素をソートします。採用されているのは、安定なソート アルゴリズムです。つまり、同等の要素の相対的な順序は変更しません。 |
public final | {FastArray-of.sort}:void |
splice: | self 内の、index で指定された位置の直前に a をスプライスします。 |
top-of-stack: | スタックとして見たときに self の最上位にある要素を、self を変更しないで返します。これは、配列の最後の要素です。 |
public final | {FastArray-of.top-of-stack}:t |
(ファクトリ)
要素として引数を持つ FastArray を作成および初期化します。
...: 残余引数は、インデックス 0 から始まる初期要素として使用されます。
max-size: 配列に割り当てるストレージの容量。... 内の要素の数よりも小さい場合は、... 内の要素の数に設定されます。それ以外の場合は、抽出された値になります。
戻り値
新しく作成された FastArray を返します。
(ファクトリ)
public | {FastArray-of.from-size size:int,initial-value:t,max-size:int = size }:{FastArray-of t} |
max-size の要素スロットの空間を持つ FastArray を作成および初期化します。
size: 初期サイズ。
initial-value: 0 から size - 1 までの要素に格納される値。
max-size: size を拡大できる最大値。指定されていない場合は、既定で size になります。
戻り値
新しく作成された FastArray を返します。
注意事項
(メソッド)
public final | {FastArray-of.append e:t}:void |
self の最後に e を追加します。
e: 追加する要素。
注意事項
(メソッド)
public final | {FastArray-of.clear}:void |
サイズを 0 に設定して、すべての要素を配列から削除します。
(メソッド)
self のシャローコピー(shallow copy)を返します。要素自体はコピーされません。
注意事項
(メソッド)
self の "クローン" を作成します。この size は self のサイズと同じですが、max-size は、その size にまで縮小されています。
FastArray-of.clone も参照してください。
(メソッド)
start から始まる length 個の要素を使用して self から新しい FastArray を作成します。
start: 新しい FastArray にコピーされる最初の要素のインデックス。
length: コピーする要素の数。
注意事項
(メソッド)
a を self の最後に連結します。
a: 連結される要素の FastArray。
注意事項
(メソッド)
public final | {FastArray-of.copy-into}:void |
self から dest に要素を直接コピーします。
dest: 要素のコピー先となる FastArray。
source-start: コピーの開始元となる self のインデックス。
dest-start: 最初のコピー先となる dest のインデックス。
length: コピーする要素の数。
注意事項
self または
dest に指定した範囲の中でいずれかの部分がインデックス外である場合、このメソッドは
ArrayBoundsException をスローします。
つまり、以下の式が
true と評価された場合に
ArrayBoundsException がスローされます。
source-start < 0 or
source-start + length < source-start or
source-start + length > self.size or
dest-start < 0 or
dest-start + length < dest-start or
dest-start + length > dest.size
(メソッド)
以下の場合に true を返します。
{type-of a2} == {type-of self} and
a2.size == self.size
上の式を満たし、
a2 の各要素が、
self 内の対応する要素と等しい場合です。
a2: 比較される {FastArray-of t}。
注意事項
(メソッド)
public final | {FastArray-of.find e:t,equality-proc:#{proc-type {t, t}:bool} = null,search-direction:SearchDirection = SearchDirection.forward,starting-index:int = {if search-direction == SearchDirection.forward
then
0
else
self.size - 1
} }:int |
(メソッド)
public final inline | {FastArray-of.get index:int}:t |
index で示される要素を返します。
index: 取り出す要素を指定します。
注意事項
(メソッド)
public final | {FastArray-of.insert e:t, index:int}:void |
self 内の index で指定された位置の直前に e を挿入します。
e: 挿入される要素。
index: e が挿入される場所を指定します。挿入後の e のインデックスは index になります。
注意事項
(メソッド)
public final | {FastArray-of.pop}:t |
self の最後から要素を削除して返します。
注意事項
(メソッド)
public final | {FastArray-of.push e:t}:void |
self の最後に e をプッシュします。
e: プッシュされる要素。
注意事項
(メソッド)
public final | {FastArray-of.remove index:int, length:int = 1}:void |
index 要素から始まる length 個の要素を self から削除します。
index: 削除される最初の要素のインデックス。
length: 削除される要素の数。
注意事項
(メソッド)
public final | {FastArray-of.reverse}:void |
(メソッド)
public final inline | {FastArray-of.set index:int, element:t}:void |
index で示される要素が element になるように設定します。
index: 設定される要素を指定します。
element: 書き込まれる値。
注意事項
(メソッド)
public final | {FastArray-of.set-size new-size:int, initial-value:t}:void |
self のサイズを設定します。
new-size: self の新しいサイズを指定します。このパラメータには、負、または self.max-size より大きい値を指定しないでください (指定するとエラーが発生します)。
initial-value: new-size が self.size の現在の値よりも大きい場合は、新しく作成したスロットを埋める値を指定します。
注意事項
(メソッド)
public final | {FastArray-of.sort}:void |
self の要素をソートします。採用されているのは、安定なソート アルゴリズムです。つまり、同等の要素の相対的な順序は変更しません。
comparison-proc: ソート目的で要素を比較します。このプロシージャは、self 内の 2 つの要素に適用されるときに、その 2 つの要素が既に適切な順序になっている場合に true を返します。
このパラメータが指定されていない場合、システムは、要素を昇順でソートする既定値を選択しようとします。
例
以下は
IntVec a を昇順にソートします。
{a.sort
comparison-proc=
{proc {x:int y:int}:bool
{return x <= y}
}
}
この例は、
comparison-proc を指定しないときに得られる既定の動作と同じ動作になることに注意してください。
注意事項
(メソッド)
self 内の、index で指定された位置の直前に a をスプライスします。
a: スプライス先の要素の FastArray。
index: a の最初の要素の挿入先を指定します。挿入後に、a の最初の要素のインデックスは index になります。a の他の要素は、順次挿入されます。
注意事項
(メソッド)
public final | {FastArray-of.top-of-stack}:t |
スタックとして見たときに self の最上位にある要素を、self を変更しないで返します。これは、配列の最後の要素です。
注意事項