[Rust]HashMap(ハッシュマップ)のキーと値を一緒にループするには?

Rust

どうも、ちょげ(@chogetarou)です。

HashMap(ハッシュマップ)のキー(key)と値(value)を一緒にループする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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

コメント

タイトルとURLをコピーしました