どうも、ちょげ(@chogetarou)です。
HashMap(ハッシュマップ)のキー(key)と値(value)を一緒にループする方法を紹介します。
方法

HashMap(ハッシュマップ)のキー(key)と値(value)を一緒にループするには、「&」もしくはiter()を使います。
まず、for文のループ変数を()内に2つカンマ区切りで指定します。
次に、for文のループ対象(inの右)に、先頭に「&」を付けたHashMap、もしくはHashMapから呼び出したiter()を指定します。
そして、for文のループ処理を記述します。
ループ処理では、左のループ変数でインデックス、右のループ変数で要素を取得します。
//map=対象のハッシュマップ
for (key, value) in &map {
//ループ処理
//ループ変数「key」でキー、ループ変数「value」で値を取得
}
for (key, value) in nums.iter() {
//ループ処理
}
上記のforループは、対象のHashMap(ハッシュマップ)のキー(key)と値(value)をループします。
使用例
use std::collections::HashMap;
fn main(){
let mut nums = HashMap::new();
nums.insert("one", 1);
nums.insert("two", 2);
nums.insert("three", 3);
nums.insert("four", 4);
nums.insert("five", 5);
for (key, value) in &nums {
println!("{:?}: {:?}", key, value);
}
}
出力:
"four": 4
"one": 1
"five": 5
"three": 3
"two": 2
コメント