是否有可能有一个哈希器不使用随机初始状态,而不必导入任何箱子?我正在浏览文档,但我没有找到解决方案。似乎唯一的选择涉及RandomState
这不必是任何花哨的散列器。我甚至会在之后进行唯一性检查,以确保没有冲突。
使用BuildHasherDefault
。它构造一个Hasher
使用Default
实现。
例如,
use std::collections::hash_map::DefaultHasher;
use std::hash::BuildHasherDefault;
type DefaultedHashMap<K, V> = HashMap<K, V, BuildHasherDefault<DefaultHasher>>;
let map = DefaultedHashMap::default();
或:
use std::collections::hash_map::DefaultHasher;
use std::hash::BuildHasherDefault;
let map = HashMap::with_hasher(BuildHasherDefault::<DefaultHasher>::default());