コース: プログラミングの基礎:データ構造

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

ハッシュテーブルをプログラムで使用する

ハッシュテーブルをプログラムで使用する

ハッシュテーブルは大変に効率よく データを探索することができる データ構造です。 多くのプログラミング言語で サポートされているので、 どのように使用するのか、 代表的な言語で見てみましょう。 ハッシュテーブルは キーと値のペアを単位として データを格納します。 そして格納したキーを指定すると、 対応する値を高速に取得します。 ハッシュテーブル以外にも、 連想配列、辞書、ハッシュ、 マップなどと呼ばれ、 多くのプログラミング言語で 利用可能です。 Java ではハッシュテーブルを 扱うクラスがいくつか存在します。 ここにあげた HashMap と HashTable は、 Java ユーティリティパッケージに、 ConcurrentHashMap は、 Java ユーティリティ Concurrent パッケージに用意されています。 HashTable は、 スレッドセーフですが、 HashMap は、 スレッドセーフではありません。 スレッドセーフとは、 同時に複数のスレッドから アクセスされた際に、 正しく動作するということです。 またスレッドとは、 プロセスを分割した処理単位です。 ConcurrentHashMap は、 スレッドセーフの HashMap です。 簡単、安全に 並行処理を実行するために 作られました。 これは Java で HashMap クラスを使用した 簡単な例です。 ここでは、同時処理を 考慮する必要はないので、 HashMap を例にします。 HashMap は、java.util に 用意されています。 最初に HashTable の インスタンスを生成します。 HashTable は、 キーと値を組みにして 型を指定します。 ここではキーと値がともに 文字列型のハッシュテーブルを 作っています。 put メソッドでキーと値を HashTable に格納します。 Apple と「りんご」 Banana と「バナナ」 Cherry と「さくらんぼ」をペアにして、 登録しています。 get メソッドで キーから値を取得することができます。 このプログラムを実行すると、 このように、「りんご」「バナナ」 「さくらんぼ」と結果が得られます。 C# でも HashTable を扱うクラスが、 いくつか存在します。 初期の C# では、…

目次