HashMap<K, V, S = RandomState>
は、キーを使って値にアクセスするようなデータ型です。
::new
でミュータブルなハッシュマップを作り、::insert
で値を登録します。データへアクセスする場合はインデックスと同じく[K]
を変数の後ろに置きます。
use std::collections::HashMap;
let mut hash_map: HashMap<&str, i32> = HashMap::new();
hash_map.insert("nju", 33);
assert_eq!(hash_map["nju"], 33);
キーとなる値にはHash
とEq
の両方を持っている型でなければなりません。
キーを持ってるか
::contains_key
を使います。
assert!(hash_map.contains_key("nju"));
キーと値を削除
::remove
で削除できます。
hash_map.remove("nju");
assert!(!hash_map.contains_key("nju"));
すべてのキーを回して処理する
参照はIntoIterator
を持つのでこれを使います。それぞれの処理の前にkey
とvalue
のタプルを受け取ります。
for (key, value) in &hash_map {
println!("{key}: {value}", key = key, value = value);
}