web-dev-qa-db-ja.com

NSMutableArrayの先頭にオブジェクトを追加しますか?

NSMutableArrayの開始にオブジェクトを追加する効率的な方法はありますか? Objective Cの適切なダブルエンドキューも探しています。

45
gurooj

単に

[array insertObject:obj atIndex:0];

ドキュメント を確認してください

102
Manlio

他の回答が指摘しているように、単にinsertObject:atIndex 方法。 NSArrayは必ずしも連続したメモリで構成されているわけではないため効率的です。つまり、特に大きな配列、つまり数十万個の要素に対して挿入が行われたときに要素が常に移動するわけではありません。 このブログ を参照してください。ObjectiveCでは、コピーを作成する必要があるC++とは異なり、memmmoveを内部で使用できるように、ポインターのみが配列内で移動されることに注意してください。

また、 このSEの質問

5
Mark