小编lsu*_*nsi的帖子

如何用两个键实现HashMap?

HashMap实现getinsert方法,它们分别采用单个不可变借位和单个值的移动.

我想要一个像这样的特性,但需要两个键而不是一个.它使用里面的地图,但它只是实现的细节.

pub struct Table<A: Eq + Hash, B: Eq + Hash> {
    map: HashMap<(A, B), f64>,
}

impl<A: Eq + Hash, B: Eq + Hash> Memory<A, B> for Table<A, B> {
    fn get(&self, a: &A, b: &B) -> f64 {
        let key: &(A, B) = ??;
        *self.map.get(key).unwrap()
    }

    fn set(&mut self, a: A, b: B, v: f64) {
        self.map.insert((a, b), v);
    }
}
Run Code Online (Sandbox Code Playgroud)

hashmap rust

22
推荐指数
2
解决办法
1949
查看次数

标签 统计

hashmap ×1

rust ×1