ハッシュマップを走査する方法は何種類ありますか?
HashMapの走査方法は以下のようにいくつかあります:
- HashMapのkeySet()またはentrySet()メソッドを使用して、Iteratorを使用して要素を走査します。
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对到map
// 遍历键集合
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
// 根据key获取对应的值
Integer value = map.get(key);
// 进行其他操作
}
// 遍历键值对集合
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
String key = entry.getKey();
Integer value = entry.getValue();
// 进行其他操作
}
- foreachを使用して、キーセットやキーバリューのセットを反復処理する。
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对到map
// 遍历键集合
for (String key : map.keySet()) {
// 根据key获取对应的值
Integer value = map.get(key);
// 进行其他操作
}
// 遍历键值对集合
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
// 进行其他操作
}
- Java 8のStream APIを使用してループする:
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对到map
// 遍历键集合
map.keySet().stream().forEach(key -> {
// 根据key获取对应的值
Integer value = map.get(key);
// 进行其他操作
});
// 遍历键值对集合
map.entrySet().stream().forEach(entry -> {
String key = entry.getKey();
Integer value = entry.getValue();
// 进行其他操作
});
注意:イテレーターまたはforeachを使用して削除操作を行う場合は、イテレーターのremove()メソッドを使用する必要があります。そうしないと、ConcurrentModificationException例外がスローされる可能性があります。