ここ数年、私はSpringのソースについて深く掘り下げなければなりませんでした。私は開発者が実際にリンクされたリストを気に入っていることに気がつきました。なぜ彼らが配列のリストをリストの実装として選んだのか分かりません。なぜこの延期決定がなされたのか誰にも分かりますか?なぜSpringのソースコードはリンクリストをあまり使用していますか
3
A
答えて
2
実際の使用状況によって異なります。しかしおそらく、リンクされたリストを育てるときのスペースの複雑さが安いからです。あなたがコレクションを繰り返しているだけであれば、それは良い選択です。 Recall ArrayListの実装には幾何学的な成長モデルがあり、リストがどれだけ大きくなるか分からなければ悪い選択です。現在の容量を超えてリストを拡大すると、現在の配列が現在の容量の2倍の新しい配列にコピーされます。
+0
私はこれをちょっと考えました。 ALの実装がLLより高速で、ほとんどの使用事例が、デフォルトの配列サイズである16個以上の要素を必要としないので、奇妙な選択のように思えました。 – Virmundi
関連する問題
- 1. なぜソースコードはapp/resources/tmp/cacheフォルダにありますか?
- 2. ホストアプリケーションのソースコードを持たないdmpファイルを使用してDLLをデバッグする方法はありますか
- 3. なぜmergesortはリンクリストの方が優れていますか?
- 4. あなたはSpringセキュリティを使用しているかどうか知っていますか?taglibを使用する必要がありますか?
- 5. なぜJSONを使用したSOAPはありませんか?
- 6. FPGAのソースコードはありますか?
- 7. ソースコードからSpring Frameworkを使用する
- 8. なぜbindCallbackは関数ではありませんか?私はこのrxjsを使用しています
- 9. なぜ私はUpdateSourceTrigger = PropertyChangedを使用していますか、TwoWayで十分ではありませんか?
- 10. C++のソースコードをC/C++のソースコードに変換するツールはありますが、インスタンス化された(展開されていない)テンプレートはありますか?
- 11. なぜsambaはソースコードのバージョンsource3とsource4を維持していますか?
- 12. なぜ私のジュリアプログラムはあまりにも多くのメモリを使用していますか?
- 13. なぜCのリンクリストを使って繰り返しループを繰り返しませんか?
- 14. なぜPython辞書はあまりにも多くのメモリを使用していますか?
- 15. なぜdebug_backtrace()はあまりにも多くのメモリを使用していますか?
- 16. なぜhaskellのネットワークライブラリはノンブロッキングソケットを使用していますか?
- 17. リンクリスト実装を使用してスタックから要素をポップできないのはなぜですか?
- 18. C#リンクリストのサイズ(ソースコード)
- 19. SpringバッチパーティションまたはJavaマルチスレッドを使用していますか?
- 20. Spring SecurityはSpring Sessionを使用する必要がありますか?
- 21. リンクリストの特定ノードにリンクリストを追加する方法はありますか?
- 22. なぜvalue.lengthを使用する必要がありますか?
- 23. なぜstopPropagation()を使用する必要がありますか?
- 24. 生のSpring 4 WebSocketをSTOMPなしで使用してメッセージをブロードキャストする方法はありますか?
- 25. spring mvc3 @ResponseBodyには415のサポートされていないメディアタイプが使用されました。なぜですか?
- 26. 単一リンクリストは何に使用されていますか?
- 27. なぜKademliaはUDPを使用していますか?
- 28. なぜRxNettyはスレッドプールを使用していますか?
- 29. なぜrep movbはデータセグメントを使用していますか?
- 30. なぜvbulletinはENUMを使用していますか?
どのように使用していますか? –