| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector クラスを使用すると、ベクターにアクセスして操作することができます。ベクターとはすべてのエレメントが同じデータ型を持つ配列です。ベクターのエレメントのデータ型は、ベクターのベース型と呼ばれています。
ベース型は、ビルトインクラスとカスタムクラスを含む任意のクラスです。ベース型は、Vector 変数の宣言時とクラスコンストラクタの呼び出しによるインスタンスの作成時に指定されます。
配列の場合と同様に、配列アクセス([])演算子を使用すると、ベクターエレメントの値を設定または取得できます。また、いくつかのベクターのメソッドは、エレメントの値を設定および取得するためのメカニズムを備えています。これらには、push()、pop()、shift()、unshift() などがあります。Vector オブジェクトのプロパティとメソッドは、配列のプロパティとメソッドと似ており、ほとんどの場合は同じです。すべてのエレメントが同じデータ型を持つ配列を使用する場合は、Vector インスタンスが推奨されます。
ベクターのベース型は、後置型パラメータシンタックスを使用して指定されます。型パラメータシンタックスは、次の例が示すように、ドット(.)、左山括弧(<)、クラス名、および右山括弧(>)からなるシーケンスです。
var v:Vector.<String>;
v = new Vector.<String>();
この例の最初の行では、変数 v が Vector.<String> インスタンスとして宣言されます。 つまり、この行は String インスタンスのみ保持することができ、String インスタンスのみ取得できるベクター(配列)を表します。2 番目の行は、同じ Vector 型(つまり、エレメントがすべて String オブジェクトであるベクター)のインスタンスを構築し、v に割り当てます。
Vector.<T> データ型によって宣言された変数は、同じベース型 T を使用して構築された Vector インスタンスのみ格納することができます。たとえば、new Vector.<String>() を呼び出して構築されたベクターは、ベクターで宣言されている変数に割り当てることはできません。<int> データ型によって宣言された変数に割り当てることはできません。ベース型は完全に一致する必要があります。例えば、次のコードは、オブジェクトのベース型が宣言された変数のベース型と同じでないため(Sprite が DisplayObject のサブクラスであっても)コンパイルされません。
// This code doesn't compile even though Sprite is a DisplayObject subclass
var v:Vector.<DisplayObject> = new Vector.<Sprite>();
ベース型 T を持つベクターを T のスーパークラスのベクターに変換するには、Vector() グローバル関数を使用します。
データ型の制限に加えて、Vector クラスには Array クラスと区別される次のようなその他の制限があります。
- ベクターは高密度の配列です。位置 1 ~ 6 に値がない場合でもインデックス 0 と 7 に値を指定することができる配列とは異なり、ベクターでは各インデックスに値(または
null)を指定する必要があります。
- ベクターは、オプションで固定長、つまり含まれるエレメントの数を変更できないように設定できます。
- ベクターのエレメントへのアクセスは範囲チェックが行われます。最後のエレメント(
length - 1)より長いインデックスから値を読み取ることはできません。現在の最後のインデックスを越えて値を設定することはできません(つまり、既存のインデックスまたはインデックス [length] でのみ値を設定することができます)。
このような制限の結果として、ベクターでは、エレメントがすべて単一クラスのインスタンスとなる Array インスタンスにはない、次の 2 つの主要な利点が得られます。
- パフォーマンス:Array インスタンスを使用するよりも、Vector インスタンスを使用する方が、配列エレメントのアクセスと繰り返しが高速になります。
- 型の安全性:コンパイラは Strict モードの場合、不正なデータ型の値をベクターに割り当てたり、ベクターから値を読み取るときに間違ったデータ型が読み取られる恐れがあるなどのデータ型のエラーを識別できます。ただし、
push() メソッドまたは unshift() メソッドを使用してベクターに値を追加する場合、引数のデータ型はコンパイル時にチェックされず、実行時にチェックされることに注意してください。
fixed:Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクターの length プロパティを変更できるかどうかを指定します。値が false の場合、length プロパティは変更できません。これは、fixed が true の場合、次の操作は行うことができないことを意味します。
length プロパティの直接的な設定- インデックス位置
length への値の割り当て length プロパティを変更する以下のメソッドの呼び出し
pop()push()shift()unshift()splice()(splice() 呼び出しがベクターの length を変更する場合)
実装 public function get fixed():Boolean public function set fixed(value:Boolean):voidlength:uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内で使用できる有効なインデックスの範囲です。Vector インスタンスは、length 値(ただし、最大値は除く)までのインデックス位置を持ちます。
ずべてのベクターエレメントは、常にベース型のインスタンスまたは null のいずれかの値を持ちます。length プロパティが前の値より大きい値に設定されている場合、追加のエレメントが作成され、ベース型に適したデフォルト値(参照型の場合は null)が設定されます。
length プロパティが前の値より小さい値に設定されている場合、新しい length 値以上のインデックス位置にあるすべてのエレメントがベクターから削除されます。
実装 public function get length():uint public function set length(value:uint):void 例外 | RangeError — fixed が true のときにこのプロパティが変更された場合。
|
| |
| RangeError — このプロパティが、許容される最大インデックス(232)より大きい値に設定された場合。
|
public function Vector(length:uint = 0, fixed:Boolean = false)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたベース型を持つベクターを作成します。
Vector.<T>() コンストラクタを呼び出すときに、型パラメータシンタックスを使用してベース型を指定します。型パラメータシンタックスは、次の例が示すように、ドット(.)、左山括弧(<)、クラス名、および右山括弧(>)からなるシーケンスです。
Array クラスとは異なり、Vector.<T>() コンストラクタを使用して、事前に入力される Vector インスタンスを作成できません。配列または他のベクター(異なるベース型を持つベクターなど)から Vector インスタンスを作成するには、Vector() グローバル関数を使用します。
パラメータ | length:uint (default = 0) — ベクターの初期長さ(エレメント数)です。このパラメータが 0 より大きい場合、指定された数のベクターエレメントが作成され、ベース型に適したデフォルト値が設定されます(参照型の場合、null)。
|
| |
| fixed:Boolean (default = false) — ベクターの長さが固定されるか(true)、または変更できるか(false)を指定します。この値は fixed プロパティを使用して設定することもできます。
|
関連項目
AS3 function concat(... args):Vector.<T>| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
パラメータで指定されたエレメントをベクター内のエレメントと連結して、新しいベクターを作成します。パラメータでベクターを指定すると、そのベクターのエレメントが連結されます。
パラメータ
| ... args — 新しいベクターに連結されるこのベクターのベース型の 1 つ以上の値。値を渡さない場合、新しいベクターは元のベクターの複製になります。
|
戻り値 | Vector.<T> — このベクターの後にパラメータのエレメントが続くベクターと同じベース型を持つベクター。
|
例外 | TypeError — 引数がベース型のインスタンスではない場合で、ベース型に変換できない場合。
|
AS3 function every(callback:Function, thisObject:Object = null):Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された関数について false を返すアイテムに達するまで、ベクター内の各アイテムにテスト関数を実行します。 このメソッドを使用して、ベクター内のすべてのアイテムがある基準(値が特定の数値より小さいなど)を満たしているかどうかを判別できます。
パラメータ
| callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):Boolean {
// your code here
}
コールバック関数はブール値を返します。
|
| |
| thisObject:Object (default = null) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
戻り値 | Boolean — ブール値です。指定された関数について、ベクター内のいずれかのアイテムが true を返す場合は true を返します。それ以外の場合は false を返します。
|
関連項目
AS3 function filter(callback:Function, thisObject:Object = null):Vector.<T>| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内の各アイテムについてテスト関数を実行し、指定された関数について true を返すすべてのアイテムを含む新しいベクターを返します。false を返すアイテムは、結果ベクターに含められません。戻りベクターのベース型はメソッドが呼び出されるベクターのベース型と一致します。
パラメータ
| callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):Boolean;
|
| |
| thisObject:Object (default = null) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
戻り値 | Vector.<T> — 元のベクター内のアイテムで callback 関数が true を返したものをすべて含む新しいベクター。
|
関連項目
AS3 function forEach(callback:Function, thisObject:Object = null):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内の各アイテムについて関数を実行します。
パラメータ
| callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):void;
関数呼び出しの戻り値は破棄されます。
|
| |
| thisObject:Object (default = null) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
AS3 function indexOf(searchElement:T, fromIndex:int = 0):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内のアイテムを検索し、アイテムのインデックス位置を返します。アイテムは、厳密な等価(===)を使用してベクターエレメントと比較されます。
パラメータ
| searchElement:T — ベクター内で検索するアイテムです。
|
| |
| fromIndex:int (default = 0) — アイテムの検索を開始するベクター内の場所です。このパラメータが負の場合、length
+ fromIndex として扱われます。つまり、検索は最後の -fromIndex アイテムから開始し、その位置から前方に向かってベクターの最後まで検索します。
|
戻り値 | int — ベクター内のアイテムの 0 から始まるインデックス位置です。searchElement 引数が見つからなかった場合、戻り値は -1 です。
|
関連項目
AS3 function join(sep:String = ","):String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内のエレメントをストリングに変換し、指定されたセパレータをエレメント間に挿入し、エレメントを連結して、その結果をストリングとして返します。ネストされたベクターは、join() メソッドに渡されるセパレータで区切るのではなく、常にカンマ(,)で区切ります。
パラメータ
| sep:String (default = ",") — 返されたストリング内のベクターエレメントを区切る文字またはストリングです。このパラメータを省略すると、デフォルトのセパレータとしてカンマが使用されます。
|
戻り値 | String — ストリングに変換されたベクターのエレメントで構成され、指定されたストリングで区切られているストリングです。
|
関連項目
AS3 function lastIndexOf(searchElement:T, fromIndex:int = 0x7fffffff):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内のアイテムを、指定されたインデックス位置から後方に向かって検索し、一致したアイテムのインデックス位置を返します。アイテムは、厳密な等価(===)を使用してベクターエレメントと比較されます。
パラメータ
| searchElement:T — ベクター内で検索するアイテムです。
|
| |
| fromIndex:int (default = 0x7fffffff) — アイテムの検索を開始するベクター内の場所です。デフォルトは、許容される最大インデックス値です。つまり、検索はベクター内の最後のアイテムから開始されます。
このパラメータが負の場合、length + fromIndex として扱われます。つまり、検索は最後の -fromIndex アイテムから開始し、その位置から後方に向かってインデックス 0 まで検索します。
|
戻り値 | int — ベクター内のアイテムの 0 から始まるインデックス位置です。searchElement 引数が見つからなかった場合、戻り値は -1 です。
|
関連項目
AS3 function map(callback:Function, thisObject:Object = null):Vector.<T>| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内の各アイテムについて関数を実行し、このベクター内の各アイテムに対する関数の呼び出しの結果に対応するアイテムの新しいベクターを返します。結果ベクターには、元のベクターと同じベース型と length が指定されます。結果ベクターのインデックス i のエレメントは、元のベクターのインデックス i のエレメントでの呼び出しの結果です。
パラメータ
| callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):T;
|
| |
| thisObject:Object (default = null) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
戻り値 | Vector.<T> — ベクター内の各アイテムに対する関数の呼び出しの結果が含まれる新しいベクターです。結果ベクターには、元のベクターと同じベース型と length が指定されます。
|
関連項目
AS3 function pop():T| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクターの最後のエレメントを削除して、そのエレメントを返します。この関数が呼び出されるときに、ベクターの length プロパティは 1 つ減少します。
戻り値 | T — 指定されたベクターの最後のエレメントの値です。
|
例外関連項目
AS3 function push(... args):uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
エレメントをベクターの最後に追加して、ベクターの新しい長さを返します。
この関数は複数の引数を受け入れることができるので、Strict モードの場合でも、コンパイル時に引数のデータ型はチェックされません。ただし、ベース型のインスタンスではない引数が渡されると、実行時に例外が発生します。
パラメータ
| ... args — ベクターに追加される値です。
|
戻り値 | uint — 新しいエレメントが追加された後のベクターの長さです。
|
例外関連項目
AS3 function reverse():Vector.<T>| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内のエレメントの順序を反転します。このメソッドは呼び出されるベクターを変更します。
戻り値 AS3 function shift():T| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクターの最初のエレメントを削除して、そのエレメントを返します。残りのベクターエレメントは、元の位置 i から i - 1 に移動されます。
戻り値例外関連項目
AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Vector.<T>| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
元のベクターから一連のエレメントを取り出して、新しいベクターを返します。元のベクターは変更されません。返されるベクターには、startIndex エレメントから endIndex の前のエレメントまでのすべてのエレメントが含まれます。
パラメータを何も渡さないと、元のベクターの複製が作成されます。
パラメータ
| startIndex:int (default = 0) — スライスの始点のインデックスを示す数値です。 startIndex が負の数値の場合、始点はベクターの末尾から開始します。つまり、-1 が最後のエレメントです。
|
| |
| endIndex:int (default = 16777215) — スライスの終点のインデックスを示す数値です。 このパラメータを省略すると、スライスにはベクターの最初から最後までのすべてのエレメントが取り込まれます。endIndex が負の数値の場合、終点はベクターの末尾から開始します。つまり、-1 が最後のエレメントです。
|
戻り値 | Vector.<T> — 元のベクターから取り出した一連のエレメントから成るベクターです。
|
AS3 function some(callback:Function, thisObject:Object = null):Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
true を返すアイテムに達するまで、ベクター内の各アイテムにテスト関数を実行します。このメソッドを使用して、ベクター内のいずれのアイテムもある基準(値が特定の数値より小さいなど)を満たしているかどうかを判別できます。
パラメータ
| callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):Boolean
コールバック関数はブール値を返します。
|
| |
| thisObject:Object (default = null) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
戻り値 | Boolean — ブール値です。指定された関数についてベクター内のいずれかのアイテムが true を返す場合は true を返します。それ以外の場合は false を返します。
|
関連項目
AS3 function sort(compareFunction:Function):Vector.<T>| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内のエレメントをソートします。このメソッドは、compareFunction パラメータとして提供される関数に基づいてソートを実行します。
パラメータ
| compareFunction:Function — ソートの動作を設定する比較メソッドです。
指定したメソッドはベクターのベース型(T)の 2 つの引数を受け取り、数値を返す必要があります。
function compare(x:T, y:T):Number {}
compareFunction 関数のロジックにより、2 つのエレメント x と y が指定された場合、この関数は次の 3 つの値のいずれかを返します。
x が y の前に表示されるソート順の場合は負の数。- =
x の場合は 0y x が y の後に表示されるソート順の場合は正の数。
|
戻り値 AS3 function splice(startIndex:int, deleteCount:uint, ... items):Vector.<T>| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクターのエレメントを追加および削除します。このメソッドは、コピーを作成しないで、ベクターを変更します。
メモ:ベクターのサブクラス内でこのメソッドをオーバーライドするには、次の例に示すように、パラメータに ...args を使用します。
public override function splice(...args) {
// your statements here
}
パラメータ
| startIndex:int — 挿入または削除を開始するベクターエレメントのインデックスを示す整数です。負の整数を使用すると、ベクターの末尾を基準として位置を指定できます。例えば、-1 はベクターの最後のエレメントです。
|
| |
| deleteCount:uint — 削除するエレメント数を示す整数です。この数には、startIndex パラメータで指定するエレメントが含まれます。deleteCount パラメータに値を指定しないと、ベクター内の startIndex の位置のエレメントから最後のエレメントまで、すべての値が削除されます。値として 0 を指定すると、エレメントは削除されません。
|
| |
| ... items — startIndex パラメータで指定したベクター内の位置に挿入するカンマ区切り値またはベクターのオプションリストです。
|
戻り値 | Vector.<T> — 元のベクターから削除されたエレメントを含むベクターです。
|
例外 | RangeError — startIndex と deleteCount 引数がベクターの境界外にあるインデックスを削除するように指定する場合。
|
| |
| RangeError — fixed が true のときにこのメソッドが呼び出され、splice() 演算によってベクターの length が変更された場合。
|
public function toLocaleString():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたベクター内のエレメントを表すストリングを返します。インデックス 0 から最大インデックスまでのベクター内のすべてのエレメントを、カンマで区切られた連結ストリングに変換して返します。ActionScript 3.0 実装において、このメソッドは、Vector.toString() と同じ値を返します。
戻り値関連項目
public function toString():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ベクター内のエレメントを表すストリングを返します。インデックス 0 から最大インデックスまでのベクター内のすべてのエレメントを、カンマで区切られた連結ストリングに変換して返します。カスタムセパレータを指定するには、Vector.join() メソッドを使用します。
戻り値関連項目
AS3 function unshift(... args):uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
エレメントをベクターの先頭に追加して、ベクターの新しい長さを返します。ベクター内のその他のエレメントは、元の位置 i から i に新しいエレメントの数を加えた位置に移動されます。
この関数は複数の引数を受け入れることができるので、Strict モードの場合でも、コンパイル時に引数のデータ型はチェックされません。ただし、ベース型のインスタンスではない引数が渡されると、実行時に例外が発生します。
パラメータ
| ... args — ベクターの先頭に挿入されるこのベクターのベース型の 1 つ以上のインスタンス。
|
戻り値 | uint — ベクターの新しい長さを表す整数です。
|
例外関連項目
© 2009 Adobe Systems Incorporated. All rights reserved.
Thu Mar 19 2009, 08:51 PM -07:00