どうも、ちょげ(@chogetarou)です。
HashMap(ハッシュマップ)のキー(key)と値(value)のペアをそのままVec(ベクタ)に変換する方法を紹介します。
方法

HashMap(ハッシュマップ)のキー(key)と値(value)のペアをそのままVec(ベクタ)に変換するには、iter()を使います。
まず、iter()を呼び出します。
そして、iter()からcollect()を呼び出します。
//map=対象のマップ, T=値の型
let pair: Vec<_> = map.iter().collect::<Vec<_>>();
上記のcollect()は、HashMap(ハッシュマップ)のキーと値のペア(key-value pair)をVec(ベクタ)として取得します。
使用例
use std::collections::HashMap;
fn main() {
let mut numbers = HashMap::new();
numbers.insert("one", 1);
numbers.insert("two", 2);
numbers.insert("three", 3);
numbers.insert("four", 4);
numbers.insert("five", 5);
let pair: Vec<_> = numbers.iter().collect::<Vec<_>>();
println!("{:?}", pair);
}
出力:
[("four", 4), ("five", 5), ("one", 1), ("three", 3), ("two", 2)]
コメント