gpt4 book ai didi

rust - 有没有办法在 Rust 中使用 HashMap 并获取值的向量?

转载 作者:行者123 更新时间:2023-12-04 19:28:44 26 4
gpt4 key购买 nike

我有一个 hashmap: HashMap<SomeKey, SomeValue>我想消费 hashmap并将其所有值作为向量。

我现在的做法是

let v: Vec<SomeValue> = hashmap.values().cloned().collect();
cloned复制每个值,但这种构造不消耗哈希图。我可以消费 map 。

有没有办法在不复制它们的情况下获取值?

最佳答案

转换整个HashMap进入迭代器并丢弃键:

use std::collections::HashMap;

fn only_values<K, V>(map: HashMap<K, V>) -> impl Iterator<Item = V> {
map.into_iter().map(|(_k, v)| v)
}
然后你可以用迭代器做任何你想做的事情,包括将它收集到 Vec<_> 中。 .
也可以看看:
  • How do I collect the values of a HashMap into a vector?
  • 关于rust - 有没有办法在 Rust 中使用 HashMap 并获取值的向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794311/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com