ynn*_*ynn 5 hashmap language-lawyer rust
我有两个HashMap(游乐场):
let mut m1: HashMap<u8, usize, _> = HashMap::new();
m1.insert(1, 100);
m1.insert(2, 200);
let mut m2: HashMap<u8, usize, _> = HashMap::new();
m2.insert(2, 200);
m2.insert(1, 100);
Run Code Online (Sandbox Code Playgroud)
如何检查两个地图m1和m2是否相同?
我所说的“相同”是指满足以下所有条件。
按键类型相同。
值的类型相同。
两张地图具有完全相同的密钥集。插入顺序无关紧要。
m1.get(k) == m2.get(k)两个映射的每个键(即每个现有的键)具有完全相同的值k。
据我测试,确实m1 == m2有效。然而,这种行为有保证吗?我想要某种保证(因此我添加了#language-lawyer标签)。
我已经阅读了HashMap 的官方文档。
另外,HashSet和呢Vec?(我也阅读了他们的文档。)