Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 将元组向量转换为具有向量值的hashmap的最佳方法是什么?_Rust - Fatal编程技术网

Rust 将元组向量转换为具有向量值的hashmap的最佳方法是什么?

Rust 将元组向量转换为具有向量值的hashmap的最佳方法是什么?,rust,Rust,我还没开始生锈,所以我的借书检查有点麻烦。我有一个json对象,它是以下形式的向量: Vec。 我希望能够将这个向量转换成散列映射,以便允许快速访问每个元素。最初,每个元组都是唯一的,用户将传递一对字符串和一个字符,因此我有一个hashmap,其形式为hashmap。转换函数只是对作为json对象传递的原始向量的迭代,如下所示: let new_transition_function: Vec<(String, Option<char>, String)> = origi

我还没开始生锈,所以我的借书检查有点麻烦。我有一个json对象,它是以下形式的向量:
Vec
。 我希望能够将这个向量转换成散列映射,以便允许快速访问每个元素。最初,每个元组都是唯一的,用户将传递一对字符串和一个字符,因此我有一个hashmap,其形式为
hashmap
。转换函数只是对作为json对象传递的原始向量的迭代,如下所示:

let new_transition_function: Vec<(String, Option<char>, String)> = origin
    .transition_function
    .iter()
    .map(|(x, y, z)| ((x.to_owned(), y.to_owned()), z.to_owned()))
    .collect();
let new_transition_函数:Vec=原点
.转换函数
.国际热核实验堆(iter)
.map(|(x,y,z)|((x.to_owned(),y.to_owned()),z.to_owned())
.收集();

但是,当第三个元素是非唯一的时,当我需要保留每个值时,该值在hashmap中被jsut替换。我如何才能最有效、最惯用地将
Vec
的旧向量转换为
HashMap

但它没有,谢谢你。这个问题是问他们应该使用什么样的数据结构,而我已经知道我要使用哪种数据结构。我在问如何将json对象转换为所需的数据结构。然而,他们的解决方案和我的完全相同,所以这很简单。是的,但他们也涵盖了实现这一点的两种主要方法。1) 使用
HashMap
并将其与
Entry
API一起使用,或者2)使用crateAh,我明白了。有没有办法使用内置的.iter().map()和.collect()函数创建多重映射?我没有看到太多关于它的文档,但我可以查看multimap源代码以进行检查。感谢您的帮助如果没有,您可以随时将
地图
替换为
for_each
并为每个条目调用
insert
,这很好。但是请记住,仅仅在代码中具有一些可变性并不一定会使它变得更糟糕/糟糕。这里不需要创建新的答案。最好的选择是你接受重复投票,因为已经存在的答案是相当好的,未来的读者可以从中受益,但是,谢谢你。这个问题是问他们应该使用什么样的数据结构,而我已经知道我要使用哪种数据结构。我在问如何将json对象转换为所需的数据结构。然而,他们的解决方案和我的完全相同,所以这很简单。是的,但他们也涵盖了实现这一点的两种主要方法。1) 使用
HashMap
并将其与
Entry
API一起使用,或者2)使用crateAh,我明白了。有没有办法使用内置的.iter().map()和.collect()函数创建多重映射?我没有看到太多关于它的文档,但我可以查看multimap源代码以进行检查。感谢您的帮助如果没有,您可以随时将
地图
替换为
for_each
并为每个条目调用
insert
,这很好。但是请记住,仅仅在代码中具有一些可变性并不一定会使它变得更糟糕/糟糕。这里不需要创建新的答案。最好的选择是接受重复投票,因为已经存在的答案非常好,未来的读者可以从中受益