C#辞書の効率
C#辞書は、何かが存在するかどうかなどを見つける簡単な方法です。どのように機能するかについては質問があります。辞書の代わりにArrayListを使用するとしましょう。ContainsKey(または別の言語の同等のメソッド)を使用する代わりに、ArrayListをループして、そこに何かが存在するかどうかを確認します(または、データが並べ替えられているか、類似のものであればバイナリ検索を実行します)。効率の違いは何ですか?ContainsKeyメソッドは、キーをループして検索しているものが存在するかどうかをチェックするのではなく、より効率的な方法を使用していますか? 私が持っているデータの種類に対応する特定のハッシュ関数を作成し、そのデータのセット用に特別に設計されている場合、そのハッシュ関数はデータをループするよりも実際に高速です。しかし、辞書は一般的です。ContainsKeyメソッドは、取得するデータに固有ではなく、一般的な検索メソッドです。 基本的に私が求めているのは。辞書はプログラマーに役立ちます。それらには、多くのことを支援するメソッドが含まれており、文字列を整数(キーと値)などと組み合わせています。しかし、効率については、彼らは何を提供していますか?持つに違い何dictionary対ArrayListのをstructs(string,int)