JavaのDictionaryとは?代替方法の「Map」も合わせて解説!
  • facebookページ
  • twitterページ
  • 2021.01.01

    JavaのDictionaryとは?代替方法の「Map」も合わせて解説!

    JavaのDictionaryとは

    この記事では、JavaのDictionaryクラスについて解説します。

    Dictionaryクラスとは、Hashtableの抽象基本クラスのことです。

    キーを指定することで、関連する要素を参照できます。

    ただし、Dictionaryクラスは現在使われておらず、代わりに「HashMap」を使います。

    Mapとは

    ではまず、Mapとは何かについて見ていきましょう。

    JavaのMapインターフェースでは、連想配列が扱えます。

    Mapインターフェースは、キーを値にマッピングするオブジェクトです。

    もう少し噛み砕いて説明すると、値1つひとつに「キー(名前)」を設定し、値を設定したり取り出したりできます。

    Mapインターフェースを実装しているクラスに、以下のようなものが挙げられます。

    Mapインターフェースを実装している3つのクラス
    • HashMapクラス:キーからハッシュ値を算出して管理し、順序は保証されません
    • TreeMapクラス:キーによってソートし、順序が保証されます
    • LinkedHashMapクラス:挿入された順番で保持します、設定によってアクセス順で要素を保持することも可能です

    ここでは、よく使われる HashMapクラス で説明していきます。

    HashMapの使い方

    では、HashMapの使い方を見ていきましょう。

    使い方の流れは次の通りです。

    1. HashMapを宣言
    2. 値を「put」で追加
    3. 値を「get」で取得

    順番に説明します!

    ①HashMapを宣言

    HashMapを使うには、インスタンスを生成して初期化します。

    HashMapクラスを宣言するには、次のように記述しましょう。

    また、HashMapを使うために、Javaファイルの冒頭で import を行います。

    宣言はこれだけでOKです!

    ②値を「put」で追加

    HashMapに値を追加するには「putメソッド」を使います。

    第1引数にキー(名前)を、第2引数にキーに関連づける値を記述しましょう。

    例えば、次のように記述できます。

    もしくは、ブロックを使用して、以下のように記述も可能です。

    上記の記述で値を追加する場合は、ダイヤモンド演算子(<>)が使えません。

    そのため、型の引数(<String, String>)は省略できないので注意しましょう。

    ③値を「get」で取得

    では、HashMapで追加した値を取得してみましょう。

    値を取得する際には「getメソッド」を使います。

    putと合わせて、getで値を取得するプログラムの記述例は、次の通りです。

    それぞれ、指定したキーに関連づいた値が取得できていますね!

    なお、キー・値を設定していないものを取得しようとすると「NULL」が返ります。

    また、キーがマッピングされている状態で値を上書きすると、関連づけも上書きされます。

    HashMapで使えるメソッド

    HashMapでは、先述した putメソッド getメソッド 以外にも、さまざまなメソッだが使えます。

    一覧にすると、次の通りです。

    メソッド 詳細
    Map.put(key, value) マップに値を追加
    Map.get(key) マップの値を取得
    Map.remove(key) マップの値を削除
    Map.clear() マップの値を全削除
    Map.containsKey(key) 指定したキーが存在する場合はtrue、存在しない場合はfalseを返す
    Map.size() マップの長さを取得
    Map.entrySet() キーと値をセットで取得
    Map.keySet() キーだけを取得
    Map.values() 値だけを取得

    ここでは、いくつかのメソッドを実際に使い、動作を確認してみます!

    それぞれ、意図した動作になっているのがわかるはずです。

    特に、entrySetメソッドは、すべてのキー・値を一括で取得できるので便利です。

    ぜひここで、使い方を覚えていってください!

    まとめ

    JavaのDictionaryは、Hashtableの抽象基本クラスですが、現在は使用されていません。

    実装する際は、Dictionaryクラスではなく「Mapインタフェース」を実装しましょう。

    使い方は、この記事でイチから解説させていただきました!

    ぜひ参考に、使いこなせるようになってください。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE