Rest Term

配列コピー – ActionScript

ActionScriptで配列とかディープコピーするのはどんな方法が一般的なんだろうと思って調べてました。
今回は、僕のようなAS初級者向けの内容です。

以下のエントリーでByteArrayを使ってオブジェクトをディープコピーする例がありました。
ActionScriptでディープコピー
おぉ、けっこう簡単。後追いですが僕も検証してみました。

うん、できてる。
次は100万個の要素をfor文でガリガリコピーしたものと速度比較。

あれ。forの方が早い。ループ処理を最適化してさらに検証。

ByteArrayで配列コピーすると遅いってことでいいのか。
ただ、100万個も要素コピーすることなんてまずないと思いますけど;
ここで、変数に配列名(copy1 = list)を代入すると配列のシャローコピー(浅いコピー)になりますが、
ループで要素を1つずつ入れてやれば(copy1[j] = list[j])ディープコピーができます。
C言語でも「配列名はアドレス」って大学生の時にしつこく教えられた記憶があります。

また、配列のコピーならArray.concat()、Array.slice()を使っても出来ます。

concat。速い。
なんか時間をムダにした気がする。。。。

あわせて読む:

 

Tags:

Comments: 2

Leave a reply »

 
  • ArrayUtil (as3co..

    […] 関連記事 配列コピー – ActionScript […]

     
     
     
  • FaunteeFulk

    How i may contact the administrator of a site? I have a question.

     
     
     
  • Leave a Reply
     
    Your gravatar
    Your Name