Vector.<>
の代わりに使用することの長所と短所は何array
ですか?
5 に答える
その制限の結果として、Vectorには、要素がすべて単一クラスのインスタンスであるArrayインスタンスに比べて2つの主な利点があります。
- パフォーマンス:配列要素のアクセスと反復は、配列を使用する場合よりもベクターインスタンスを使用する場合の方がはるかに高速です。
- タイプの安全性:厳密モードでは、コンパイラーは、ベクターに誤ったデータ型の値を割り当てたり、ベクターから値を読み取るときに誤ったデータ型を予期したりするなど、データ型エラーを識別できます。ただし、push()メソッドまたはunshift()メソッドを使用してVectorに値を追加する場合、引数のデータ型はコンパイル時にチェックされず、実行時にチェックされることに注意してください。
長所:ベクトルは配列よりも高速です-例:これを参照してください:FlashPlayer10を使用したより高速なJPEGエンコーディング
対照的に:VectorにはFP10が必要であり、http://riastats.com/によると、ユーザーの約20%がまだFP9を使用しています。
ベクトルはより高速です。シーケンシャルイテレーションの場合、最速のものはリンクリストのようですが。
ベクトルはビットマップ操作にも役立ちます(BitmapData.setVector、BitmapData.lockおよびunlockもチェックしてください)。
コメントで前述したリンクリストの例は、奇数ノードをスキップするため、同じデータの半分の量しか反復しないため、誤って記述されています。彼がとても素晴らしい結果を得るのも不思議ではありません。正しいコードでもより速くなるかもしれませんが、同じ%の違いではありません。ループは、current = current.nextを1回(ループ内とループ条件の両方で)設定しすぎて、その動作を引き起こします。
フラッシュプレーヤーの浸透ウェブサイトによると、それは少し高いです。85%前後