entrySet()の詳細と、マップを4つの方法で列挙の方法
entrySet()メソッドはMapインターフェースの1つのメソッドであり、Setコレクションを返します。このコレクションの要素はMap.Entry型のオブジェクトであり、各Map.Entryオブジェクトは1つのキーと値を表します。
Map.Entryは、getKey()メソッドとgetValue()メソッドを定義する内部インタフェースです。それぞれ、キーと値を取得するために使用されます。
Mapコレクション内のキーと値のペアを簡単にループ処理するために、entrySet()メソッドを使用します。
以下はMapコレクションを繰り返し処理する一般的な4つの方法です。
- Iteratorを使って反復処理を行う:
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用entrySet()获取键值对的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
// 使用Iterator遍历entrySet集合
Iterator<Map.Entry<String, Integer>> iterator = entrySet.iterator();
while(iterator.hasNext()){
Map.Entry<String, Integer> entry = iterator.next();
String key = entry.getKey();
Integer value = entry.getValue();
// do something with key and value
}
- 拡張forループを使用して反復処理を行う:
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用entrySet()获取键值对的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
// 使用增强for循环遍历entrySet集合
for(Map.Entry<String, Integer> entry : entrySet){
String key = entry.getKey();
Integer value = entry.getValue();
// do something with key and value
}
- Lambda式を使用して繰り返し処理を行う:
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用entrySet()获取键值对的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
// 使用Lambda表达式遍历entrySet集合
entrySet.forEach((entry) -> {
String key = entry.getKey();
Integer value = entry.getValue();
// do something with key and value
});
- Stream APIを使って繰り返し処理する:
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用entrySet()获取键值对的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
// 使用Stream API遍历entrySet集合
entrySet.stream().forEach((entry) -> {
String key = entry.getKey();
Integer value = entry.getValue();
// do something with key and value
});
これらの4つの方法はすべて、Mapコレクション内のキーと値のペアを反復処理するために使用できます。適切な方法を選択してください。