私のコードでは、デフォルトですべてのリストにArrayList、すべてのマップにHashMap、すべてのセットにHashSetを使用しています。
実用的な観点から、間違った実装を選択することで、柔軟性、スケーラビリティ、読みやすさ、パフォーマンスがどれだけ失われるのでしょうか。時間をかけて別の使用ではなく使用することを決定するのはいつ意味がありますか?
特定の状況で誰かがArrayListの代わりにLinkedListを使用する理由については、確かに非常に明確なケースがあります。TreeMapやHashTableではなくHashMapを使用することが重要だと誰かが感じるのはいつですか?セットはどうですか?
質問:
- 選択が不十分な場合のコストはいくらですか?
- 間違った実装を選択し、データセンターに火がついたという悲惨な話はありますか?
- 経験則はありますか?
- なくてはならないあいまいなコレクションの実装はありますか?
私は読み通しました:
- https://docs.oracle.com/javase/1.5.0/docs/api/java/util/TreeMap.html
- https://docs.oracle.com/javase/1.5.0/docs/api/java/util/HashMap.html
- Java:リストの場合はArrayList、マップの場合はHashMap、セットの場合はHashSet? 等...
私はこの質問が理論的な観点から関連していることを発見しましたが、私は現実の世界にもっと興味があります。