1

私のアプリケーションでは、キーが整数である辞書が必要です。

これは整数なので、 normal を使用しますArray

var arr : Array = [];
arr[5] =  anObject;
arr[82] =  anOtherObject;

を反復処理するとfor each、問題ありません。これらの 2 つのオブジェクトを反復処理します。問題は、arr.length83 が返されることです。そのため、配列を変更するときに、その数をカウントする変数を作成する必要があります。

質問 1: そのためのベスト プラクティスはありますか (IE: int をキーとする連想配列)? 私は辞書を使うのをためらった。

質問 2 : フラッシュは、アレイの未使用のバケットにメモリを割り当てますか?

4

1 に答える 1

3

フラッシュ内の配列は (ベクターとは異なり) スパースであるため、空のエントリは割り当てられません。長さを知る必要がある場合は、おそらく手動で追跡する必要があります (おそらくラッパー クラスを作成します)。

アドビは次のように述べています。

配列はスパース配列です。つまり、インデックス 0 に要素があり、インデックス 5 に別の要素がある可能性がありますが、これら 2 つの要素の間のインデックス位置には何もありません。このような場合、位置 1 から 4 の要素は未定義です。これは要素が存在しないことを示しており、値が未定義の要素が存在するとは限りません。

于 2012-07-04T08:39:29.370 に答える