Vector 如何获取&;替换Rust Vec中的值?

Vector 如何获取&;替换Rust Vec中的值?,vector,collections,rust,Vector,Collections,Rust,我要找的是替换方法: pub-fn-replace(&mut-self,索引:usize,元素:T)->T 替换向量中位置索引处的元素并返回现有值 调用remove+insert对我来说似乎是一种浪费。您可以在任何容器上轻松模拟这一点,该容器使用以下方法提供对其元素的可变引用: fn main(){ 让mut v=vec![1,2,3,4,5,6]; 让got=std::mem::replace(&mut v[3],42); println!(“v={:?}”,v); println!(“go

我要找的是替换方法:

pub-fn-replace(&mut-self,索引:usize,元素:T)->T
替换向量中位置索引处的元素并返回现有值


调用remove+insert对我来说似乎是一种浪费。

您可以在任何容器上轻松模拟这一点,该容器使用以下方法提供对其元素的可变引用:

fn main(){
让mut v=vec![1,2,3,4,5,6];
让got=std::mem::replace(&mut v[3],42);
println!(“v={:?}”,v);
println!(“got={:?}”,got);
}
()

结果:

v=[1,2,3,42,5,6]
got=4

Vec
的情况下,如果要替换一系列元素,您可能会对替换值并返回旧值的方法感兴趣。但是,对于单个值来说,它的效率可能较低