C#に関しては、ハッシュテーブルと辞書の違いを知っています。
C# でもハッシュ テーブルとディクショナリを理解していないことを納得させます。
Dictionary はAbstract Data Typeです。Dictionary は、キーから値へのマッピングを提供する任意のデータ構造を参照できます。
一方、ハッシュテーブルは具体的なデータ構造です。ハッシュ テーブルは、ハッシュ関数を使用してキーを内部配列のインデックスに変換し、衝突を解決します。
ハッシュ テーブルは、キーから値へのマッピングを提供するため、一種のディクショナリです。ただし、すべてのディクショナリがハッシュ テーブルであるとは限りません。キーから値へのマッピングを提供するデータ型を作成する方法は無限にあります。たとえば、バイナリ サーチ ツリーを使用したり、偶数インデックスにキーと奇数インデックスに値を持つ並べ替えられた配列として作成したりできます。
つまり、Dictionary について話しているときはインターフェイス (データ型が外部からどのように見えるべきか) を指定しているのに対し、HashTable について話しているときは実装 (データが実際にどのように格納されるべきか) を指定しています。 .
C# は、ドキュメントで Dictionary クラスの特定の具体的なデータ構造を指定することにより、これを少し混乱させますが、2 つの概念の違いを理解することを妨げてはなりません。C の標準ライブラリにはディクショナリもハッシュテーブルも実装されていませんが、ディクショナリとハッシュ テーブルの違いは言語に依存しません。