#プログラミング勉強日記
2021年1月5日
JavaでのMapの扱い方を簡単にまとめる。
#Mapとは
Mapはキーと値の2つの要素からなる複数のデータを格納できるものである。キーは値に名前を付けるようなもので、値の1つ1つにキーが存在する。このキーと値がペアになっているのがMapの特徴である。そのため、Mapから値を探すときにキーを目印に探すことができる。
#HashMapで初期化する方法
Mapはインターフェースなので、インスタンスを生成するにはそれを実装したクラスを使用しないといけない。Mapのインスタンスを生成するのによく使われているのが、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で初期化、値のソート)