多くの言語には、C ++vector<T>やC#のように、必要に応じてサイズを変更できる標準タイプがありますArrayList<T>。しかし、Haxeではそのようなデータ構造は見当たりません。
ArrayHaxeではこのように機能しますか?(償却済み)O(1)の最後の要素を追加/削除できますか?
多くの言語には、C ++vector<T>やC#のように、必要に応じてサイズを変更できる標準タイプがありますArrayList<T>。しかし、Haxeではそのようなデータ構造は見当たりません。
ArrayHaxeではこのように機能しますか?(償却済み)O(1)の最後の要素を追加/削除できますか?
技術的にはもちろん、これはプラットフォーム固有の実装に依存しますが、O(1)を償却Arrayしたと考えるのは安全です。これは、push達成するのが非常に簡単だからです(nekoの実装はそれをかなりうまく示しています)。
スパースネスをサポートする動的サイズのアレイが付属するすべてのプラットフォームで、Haxeは実装にそれらを使用します(フラッシュ、js、phpであるAFAIK)が、それらが不十分なメトリックを示した場合、それらは再実装されると思います。
Listランダムアクセスが重要でない場合は、もあることに注意してください。ただし、一部のプラットフォームでは、これより速くなることはなくArray、小さいだけです。