Mapは、キーと値の組み合わせで構成されています。ここでは、以下の 3つの場合について、イテレータを使用するものと拡張 for文を使用するものを組み合わせた合計 6種類について見ます。
ソースコードは以下の通り。
W301/W301.java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* Mapの全要素(キー)を出力します(Iteratorを使用)。
*/
public class W301 {
/**
* メインメソッド。
* @param args 引数
*/
public static void main(String[] args) {
Map<String, String> weekdays = new HashMap<>();
weekdays.put("Monday", "月曜日");
weekdays.put("Tuesday", "火曜日");
weekdays.put("Wednesday", "水曜日");
weekdays.put("Thursday", "木曜日");
weekdays.put("Friday", "金曜日");
weekdays.put("Saturday", "土曜日");
weekdays.put("Sunday", "日曜日");
for(Iterator<String> iterator = weekdays.keySet().iterator(); iterator.hasNext(); ) {
String key = iterator.next();
System.out.println(key);
}
}
}
実行結果の例は以下の通り。
Saturday Thursday Monday Tuesday Wednesday Friday Sunday
拡張 for文に置き換えます。
ソースコードは以下の通り。
W302/W302.java
import java.util.HashMap;
import java.util.Map;
/**
* Mapの全要素(キー)を出力します(拡張 for文を使用)。
*/
public class W302 {
/**
* メインメソッド。
* @param args 引数
*/
public static void main(String[] args) {
Map<String, String> weekdays = new HashMap<>();
weekdays.put("Monday", "月曜日");
weekdays.put("Tuesday", "火曜日");
weekdays.put("Wednesday", "水曜日");
weekdays.put("Thursday", "木曜日");
weekdays.put("Friday", "金曜日");
weekdays.put("Saturday", "土曜日");
weekdays.put("Sunday", "日曜日");
// 拡張 for文を使用
for(String key : weekdays.keySet()) {
System.out.println(key);
}
}
}
実行結果の例は以下の通り。
Saturday Thursday Monday Tuesday Wednesday Friday Sunday
Iteratorを使用する場合は、かなり複雑になります。拡張 for文を使用した例のほうが分かりやすいでしょう。
ソースコードは以下の通り。
W303/W303.java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* Mapの全要素(キー)を出力します(Iteratorを使用)。
*/
public class W303 {
/**
* メインメソッド。
* @param args 引数
*/
public static void main(String[] args) {
Map<String, String> weekdays = new HashMap<>();
weekdays.put("Monday", "月曜日");
weekdays.put("Tuesday", "火曜日");
weekdays.put("Wednesday", "水曜日");
weekdays.put("Thursday", "木曜日");
weekdays.put("Friday", "金曜日");
weekdays.put("Saturday", "土曜日");
weekdays.put("Sunday", "日曜日");
// Iteratorを使用
for(Iterator<String> iterator = weekdays.values().iterator(); iterator.hasNext(); ) {
String value = iterator.next();
System.out.println(value);
}
}
}
実行結果の例は以下の通り。
土曜日 木曜日 月曜日 火曜日 水曜日 金曜日 日曜日
拡張 for文に置き換えます。
ソースコードは以下の通り。
W304/W304.java
import java.util.HashMap;
import java.util.Map;
/**
* Mapの全要素(値)を出力します(拡張 for文を使用)。
*/
public class W304 {
/**
* メインメソッド。
* @param args 引数
*/
public static void main(String[] args) {
Map<String, String> weekdays = new HashMap<>();
weekdays.put("Monday", "月曜日");
weekdays.put("Tuesday", "火曜日");
weekdays.put("Wednesday", "水曜日");
weekdays.put("Thursday", "木曜日");
weekdays.put("Friday", "金曜日");
weekdays.put("Saturday", "土曜日");
weekdays.put("Sunday", "日曜日");
// 拡張 for文を使用
for(String value : weekdays.values()) {
System.out.println(value);
}
}
}
実行結果の例は以下の通り。
土曜日 木曜日 月曜日 火曜日 水曜日 金曜日 日曜日
Iteratorを使用する場合は、かなり複雑になります。拡張 for文を使用した例のほうが分かりやすいでしょう。
ソースコードは以下の通り。
W305/W305.java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* Mapの全要素(キーと値)を出力します(Iteratorを使用)。
*/
public class W305 {
/**
* メインメソッド。
* @param args 引数
*/
public static void main(String[] args) {
Map<String, String> weekdays = new HashMap<>();
weekdays.put("Monday", "月曜日");
weekdays.put("Tuesday", "火曜日");
weekdays.put("Wednesday", "水曜日");
weekdays.put("Thursday", "木曜日");
weekdays.put("Friday", "金曜日");
weekdays.put("Saturday", "土曜日");
weekdays.put("Sunday", "日曜日");
// Iteratorを使用
for(Iterator<Map.Entry<String, String>> iterator = weekdays.entrySet().iterator(); iterator.hasNext(); ) {
Map.Entry<String, String> entry = iterator.next();
System.out.println(entry.getKey() + " => " + entry.getValue());
}
}
}
実行結果の例は以下の通り。
Saturday => 土曜日 Thursday => 木曜日 Monday => 月曜日 Tuesday => 火曜日 Wednesday => 水曜日 Friday => 金曜日 Sunday => 日曜日
拡張 for文に置き換えます。
ソースコードは以下の通り。
W306/W306.java
import java.util.HashMap;
import java.util.Map;
/**
* Mapの全要素(キーと値)を出力します(拡張 for文を使用)。
*/
public class W306 {
/**
* メインメソッド。
* @param args 引数
*/
public static void main(String[] args) {
Map<String, String> weekdays = new HashMap<>();
weekdays.put("Monday", "月曜日");
weekdays.put("Tuesday", "火曜日");
weekdays.put("Wednesday", "水曜日");
weekdays.put("Thursday", "木曜日");
weekdays.put("Friday", "金曜日");
weekdays.put("Saturday", "土曜日");
weekdays.put("Sunday", "日曜日");
// 拡張 for文を使用
for(Map.Entry<String, String> entry : weekdays.entrySet()) {
System.out.println(entry.getKey() + " => " + entry.getValue());
}
}
}
実行結果の例は以下の通り。
Saturday => 土曜日 Thursday => 木曜日 Monday => 月曜日 Tuesday => 火曜日 Wednesday => 水曜日 Friday => 金曜日 Sunday => 日曜日