LoginSignup
2
2

More than 3 years have passed since last update.

【Java】Mapの使い方

Last updated at Posted at 2021-01-05

プログラミング勉強日記

2021年1月5日
JavaでのMapの扱い方を簡単にまとめる。

Mapとは

 Mapはキーと値の2つの要素からなる複数のデータを格納できるものである。キーは値に名前を付けるようなもので、値の1つ1つにキーが存在する。このキーと値がペアになっているのがMapの特徴である。そのため、Mapから値を探すときにキーを目印に探すことができる。

HashMapで初期化する方法

 Mapはインターフェースなので、インスタンスを生成するにはそれを実装したクラスを使用しないといけない。Mapのインスタンスを生成するのによく使われているのが、HashMapクラスである。

HashMapクラスを使って宣言する方法
Map<キーの型名, 値の型名> オブジェクト名 = new HashMap<>();

 宣言するときにはキーと値のデータ型を指定する必要がある。

サンプルコード
import java.util.HashMap;
import java.util.Map;

public class Sample {
    public static void main(String[] args) throws Exception {
        // キーをInteger、値をStringにする場合
        Map<Integer, String> map = new HashMap<>();
    }
}

Mapでよく使用するメソッド

putメソッド

 Mapにデータを追加できるメソッドで、第1引数にキー、第2引数に値を指定する。

サンプルコード
import java.util.HashMap;
import java.util.Map;

public class Sample {
           public static void main(String[] args) throws Exception {
                      Map<Integer, String> map = new HashMap<>();
                      map.put(1, "田中");
                      map.put(3, "鈴木");
                      map.put(5, "山田");
           }
}

getメソッド

 Mapに格納したデータを取得することができるメソッドで、引数にキーを指定することでそのキーの値を取得できる。

サンプルコード
import java.util.HashMap;
import java.util.Map;

public class Sample {
           public static void main(String[] args) throws Exception {
                      Map<Integer, String> map = new HashMap<>();
                      map.put(1, "田中");
                      map.put(3, "鈴木");
                      map.put(5, "山田");

                      System.out.println(map.get(1));
                      System.out.println(map.get(3));
                      System.out.println(map.get(5));
           }
}
実行結果
田中
鈴木
山田

keySetメソッド

 Mapに含まれるキーの値を返すメソッド。今回はkeySetメソッドを使ってMapのすべてのキーを出力する方法を紹介する。

サンプルコード
import java.util.HashMap;
import java.util.Map;

public class Sample {
           public static void main(String[] args) throws Exception {
                      Map<Integer, String> map = new HashMap<>();
                      map.put(1, "田中");
                      map.put(3, "鈴木");
                      map.put(5, "山田");

                      for(Integer key:map.keySet()) {
                                 System.out.println(key);
                      }
           }
}
実行結果
1
3
5

valuesメソッド

 valuesメソッドは、定義したMapや列挙子をまとめて受け取ることができる。Mapの値を全て取得する場合はvaluesメソッドを使う。

サンプルコード
```java:サンプルコード
import java.util.HashMap;
import java.util.Map;

public class Sample {
           public static void main(String[] args) throws Exception {
                      Map<Integer, String> map = new HashMap<>();
                      map.put(1, "田中");
                      map.put(3, "鈴木");
                      map.put(5, "山田");

                      for(String values: map.values()) {
                                 System.out.println(values);
                      }
           }
}
実行結果
田中
鈴木
山田

参考文献

【初心者向け】Javaのmapの使い方を解説!サンプルコードも紹介!
【Java入門】Mapの使い方総まとめ(HashMapで初期化、値のソート)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2