2016-06-22 2 views
-4

私は今日インタビューに参加していました。インタビュアーは辞書が何であるか、またいつ使用するべきですか?最初の部分はかなり簡単でしたが、私が答えることができなかった2番目の部分は、私はそれがキーバリューのペアであることを知っていますが、私はいつも私の目的を達成するためにオブジェクトのリストを使いました。C#で辞書を使用するのはいつですか?

多くの人を検索しました。thisand thisですが、誰もがどのように答えているのか分かりませんでしたので、辞書を使用するべきシナリオを教えてください。

ありがとうございました。

+0

アソシエート*アレイが必要な場合 – haim770

+0

キー値のペアが必要な場合は、本当に自分自身でそれを知りました。あなたがそれを必要としないなら、オブジェクトのリストはうまくいきます。 – Ian

+0

この有名なサイトで 'Dictionary 'をどこから/いつ使うべきかの例がたくさんあります:http://google.com - あなたの質問を入力してください! –

答えて

0

リストの索引が意味を持ち、ユニークである必要がある場合は、より適切なルックアップ操作のためにディクショナリを使用できます。

1

通常、検索の複雑さのためです。リストの検索はO(n)ですが、辞書の検索はO(1)です。

しかし、それは他の質問に依存します - リストはキーでソートされていますか?もしそうなら、検索はO(nlogn)です。辞書はどのように実装されていますか?最悪の場合、辞書でもO(n)を達​​成することができます。

一般的に、いくつかのコレクションでいくつかのキーを検索する必要がある場合は、辞書を使用します。

0

いくつかの固有のキーが関連付けられた値を格納する必要がある場合はDictionary<TKey,TValue>を使用し、そのキーでアクセスすると便利です。

複雑さ、アクセス速度や挿入速度などについて多くの人が答えます。彼らは間違っていない、辞書はかなり速い、よく最適化され、ほとんどの場合に必要なパフォーマンスを提供します。ほとんどの場合Buはそれほど重要ではないが、キーと値のペアの連鎖リストのパフォーマンスも十分であっただろう。便利なので、ほとんどは辞書を使用します。

関連する問題