Java で HashMap を繰り返し処理する方法
Mohammad Irfan
2023年10月12日
-
Java の
entrySet()
メソッドを用いたHashMap
の繰り返し処理 -
Java の
foreach
を用いたHashMap
の繰り返し処理 -
Java の
keySet()
メソッドを用いたHashMap
の繰り返し処理 -
Java の
forEach()
メソッドを用いたHashMap
の繰り返し処理 -
Java の
stream
とforEach()
メソッドを用いたHashMap
の繰り返し処理
このチュートリアルでは、Java で HashMap
を繰り返し処理する方法と、それを理解するためのコード例を紹介します。
HashMap を繰り返し処理する方法はいくつかありますが、ここでは keySet()
、entrySet()
、forEach()
メソッドなどを利用します。それでは、例を見てみましょう。
Java の entrySet()
メソッドを用いた HashMap
の繰り返し処理
マップに含まれるマッピングのセットビューを取得するには、entrySet()
メソッドを用います。セットされたビューをイテレータに集め、while
ループを使って繰り返し処理を行う。以下の例を参照してください。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<>();
map.put(2, 1020);
map.put(3, 300);
map.put(1, 100);
map.put(5, 500);
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, Integer> entry = (Map.Entry) it.next();
System.out.println(entry.getKey() + " = " + entry.getValue());
}
}
}
出力:
1 = 10
2 = 1020
3 = 300
5 = 500
Java の foreach
を用いた HashMap
の繰り返し処理
これもまた、HasMap
を繰り返し処理するための解決策です。ここでは、HashMap
の要素を繰り返し処理するために for-each
ループを使用します。以下の例を参照してください。
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<>();
map.put(2, 1020);
map.put(3, 300);
map.put(1, 100);
map.put(5, 500);
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
}
}
出力:
1 = 10
2 = 1020
3 = 300
5 = 500
Java の keySet()
メソッドを用いた HashMap
の繰り返し処理
keySet()
メソッドは、すべてのキーを収集してセットを作成し、それを用いて HashMap
の要素を繰り返し処理することができます。以下の例を参照してください。
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<>();
map.put(2, 1020);
map.put(3, 300);
map.put(1, 100);
map.put(5, 500);
for (Integer key : map.keySet()) {
System.out.println(key + " = " + map.get(key));
}
}
}
出力:
1 = 10
2 = 1020
3 = 300
5 = 500
Java の forEach()
メソッドを用いた HashMap
の繰り返し処理
HashMap
の要素を繰り返し処理するには、forEach()
メソッドを用いることができます。forEach()
メソッドは Java 8 で導入された新しいメソッドで、Iteratable
と Stream
インターフェースで利用できます。以下の例を参照してください。
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<>();
map.put(2, 1020);
map.put(3, 300);
map.put(1, 100);
map.put(5, 500);
map.forEach((key, value) -> { System.out.println(key + " = " + value); });
}
}
出力:
1 = 10
2 = 1020
3 = 300
5 = 500
Java の stream
と forEach()
メソッドを用いた HashMap
の繰り返し処理
ストリームを用いて要素の繰り返し処理を行うことができます。ここでは、entrySet()
を用いて、ストリームの forEach()
メソッドを通過するマップ要素を収集します。
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
map.entrySet().stream().forEach(System.out::println);
}
}
出力:
1 = 10
2 = 1020
3 = 300
5 = 500