我有两个
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);
如何检查两张地图
m1
和m2
是否相同?
“相同”是指满足以下条件所有。
按键类型相同。
值的类型相同。
两张地图具有完全相同的按键集。插入顺序无关紧要。
两个映射的每个键都具有完全相同的值(即
m1.get(k) == m2.get(k)
对于每个现有键 k
)。
据我测试,只有
m1 == m2
有效。然而,这种行为有保证吗?我想要某种保证(因此我添加了 #language-lawyer
标签)。
我已经阅读了HashMap的官方文档。
另外,
HashSet
和Vec
呢? (我也阅读了他们的文档。)