mapをイテレートするためのjavaイテレータのメソッドは?
Javaでは、Mapをイテレートする方法は次のとおりです。
- MapのentrySet()メソッドを使用すると、Map内のすべてのキーバリューペア(エントリ)のコレクションを取得できます。
- Iterator を使って Entry を走査する際、hasNext() メソッドで次の要素があるかどうかを調べ、next() メソッドで次の要素を取得します。
- イテレータのループでは、getKey()メソッドで現在のEntryのキーを取得し、getValue()メソッドで現在のEntryの値を取得します。
例のコードは次のとおり입니다。
Map<Integer, String> map = new HashMap<>();
map.put(1, "One");
map.put(2, "Two");
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> entry = iterator.next();
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
先述のコードでは、entrySet()メソッドでマップのすべてのキーと値のペアの集まりを取得し、その後イテレーターを用いてそのコレクションを走査し、キーと値を一つずつ取得して、それをコンソールに出力します。