Javaでは、オブジェクトがリストの先頭に追加されることが多い場合に効率を改善するために、汎用LinkedList
を使用することができます。 iOSフレームワークで同等のものは何ですか?iOSフレームワークでLinkedListに相当するものは何ですか?
答えて
NSArray
などのファンデーションクラスでは、は、初心者のプログラミングクラスで学んだことではないことを理解する必要があります。特に、通常は配列に関連付けるパフォーマンス特性はありません。
この時点で、多くの素晴らしいブログ投稿があります。 1つはRidiculous Fishで、もう1つはCocoa with Love
だから、誰もが言ったように、NSMutableArray
を使用してください。
NSMutableArrayがこれに最も近い。名前にもかかわらず、配列よりもリストに近い。しかし、"両端に要素を追加したり削除したりする要素は、thisに従って、一定時間"になります。
また、これについて、サードパーティの実装がどのような:https://github.com/mschettler/NSLinkedList
+1「NSArray」は、フット・ダウンの最適化の*トン*を持ち、ビルトイン・ソリューションを使用することが常に最良の選択肢です。いずれかの端に追加することは一定の時間動作であるので、NSArrayは既に所望の性能特性を有しているので、実際のリンクされたリストの必要性は否定される。 –
これらの付加機能と除去機能のソースはありますか? Ctrl + Fは、ドキュメントで引用している行が出てこない。 – Joren
ああ、別のページからです:) –
は直接相当するものはありません。リンクされたリストを自分で書くのは簡単ですが、NSMutableArray
と比較して多くのパフォーマンスを得ることはできません。
オープンソースCHDataStructuresには、リンクリストの実装がいくつかあります。
大規模なコレクションの場合、配列の挿入/削除のパフォーマンスがひどいです。 – jjxtra
はい、NSMutableArrayは配列ではありません。 – Yuji
D'oh!それはそれを説明する。 NSMutableArrayがベクトルまたは動的配列の場合は – sudo