这是一个简短的 Rust 程序,根据运行时间不同,它会产生不同的输出...我(显然)没有在这里使用计时或多线程。
我已经弄清楚为什么会这样(散列算法是概率性的),但问题仍然是为什么这非常有趣!
use std::collections::HashMap;
fn main() {
let mut h = HashMap::<i32,i32>::new();
h.insert(1,1);
h.insert(2,2);
for k in h.keys(){
println!("Key {k}")
}
}
来自 rust 文档
默认情况下,HashMap 使用选定的哈希算法来抵御 HashDoS 攻击。该算法是随机播种的,