gpt4 book ai didi

vector - 如何获取和替换 Rust Vec 中的值?

转载 作者:行者123 更新时间:2023-11-29 08:02:44 24 4
gpt4 key购买 nike

我正在寻找的是一种替换方法:

pub fn replace(&mut self, index: usize, element: T) -> T

Replaces an element at position index within the vector and returns the existing value.

调用 remove+insert 对我来说似乎很浪费。

最佳答案

您可以在任何使用 std::mem::replace 为您提供对其元素的可变引用的容器上轻松模拟此操作:

fn main() {
let mut v = vec![1, 2, 3, 4, 5, 6];

let got = std::mem::replace(&mut v[3], 42);

println!("v = {:?}", v);
println!("got = {:?}", got);
}

( Permalink to the playground )

结果:

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

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

关于vector - 如何获取和替换 Rust Vec 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57449264/

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