本文簡要介紹rust語言中 Trait std::hash::BuildHasher
的用法。
用法
pub trait BuildHasher {
type Hasher: Hasher;
fn build_hasher(&self) -> Self::Hasher;
fn hash_one<T>(&self, x: T) -> u64 where T: Hash,
{ ... }
}
用於創建 Hasher
實例的特征。
BuildHasher
通常用於(例如,由 HashMap
)為每個鍵創建 Hasher
,以便它們彼此獨立地散列,因為 Hasher
包含狀態。
對於 BuildHasher
的每個實例,由 build_hasher
創建的 Hasher
應該是相同的。也就是說,如果將相同的字節流饋入每個哈希器,也會生成相同的輸出。
例子
use std::collections::hash_map::RandomState;
use std::hash::{BuildHasher, Hasher};
let s = RandomState::new();
let mut hasher_1 = s.build_hasher();
let mut hasher_2 = s.build_hasher();
hasher_1.write_u32(8128);
hasher_2.write_u32(8128);
assert_eq!(hasher_1.finish(), hasher_2.finish());
相關用法
- Rust BuildHasher.build_hasher用法及代碼示例
- Rust BuildHasher用法及代碼示例
- Rust BuildHasher.hash_one用法及代碼示例
- Rust BuildHasherDefault用法及代碼示例
- Rust Builder.stack_size用法及代碼示例
- Rust Builder.spawn_unchecked用法及代碼示例
- Rust Builder用法及代碼示例
- Rust Builder.spawn用法及代碼示例
- Rust Builder.new用法及代碼示例
- Rust Builder.name用法及代碼示例
- Rust BufRead.split用法及代碼示例
- Rust BufWriter.capacity用法及代碼示例
- Rust BufReader.new用法及代碼示例
- Rust BufWriter.get_ref用法及代碼示例
- Rust BufReader.get_mut用法及代碼示例
- Rust BufReader.with_capacity用法及代碼示例
- Rust BufWriter.get_mut用法及代碼示例
- Rust BufRead.fill_buf用法及代碼示例
- Rust BufRead.has_data_left用法及代碼示例
- Rust BufRead.read_until用法及代碼示例
- Rust BufWriter.into_inner用法及代碼示例
- Rust BufRead.read_line用法及代碼示例
- Rust BufWriter用法及代碼示例
- Rust BufReader.capacity用法及代碼示例
- Rust BufWriter.with_capacity用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Trait std::hash::BuildHasher。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。