📜  从矢量 rust 中删除元素(1)

📅  最后修改于: 2023-12-03 15:36:19.568000             🧑  作者: Mango

从矢量 Rust 中删除元素

当你使用 Rust 时,你经常需要在矢量(Vector)中删除元素。这篇文章将教你如何在 Rust 中使用不同的方法删除矢量中的元素。

使用 remove() 方法删除元素

Rust 中的矢量提供了 remove() 方法,该方法可用于从矢量中删除特定索引处的元素。以下是使用 remove() 方法删除 Rust 矢量元素的示例代码:

let mut vector = vec![1, 2, 3, 4, 5];
let index = 2;
vector.remove(index);

在上面的代码中,首先创建了一个包含数字1到5的矢量。然后,在第3个元素的位置(索引号为2)调用 remove() 方法,以删除该元素,最后得到的矢量包含数字1、2、4和5,数字3被成功删除。

使用 retain() 方法删除元素

如果你需要删除与给定谓词不符合的所有元素,则可以使用 Rust 标准库中的 retain() 方法。以下是使用 retain() 方法删除 Rust 矢量元素的示例代码:

let mut vector = vec![1, 2, 3, 4, 5];
let condition = |&x| x % 2 != 0;
vector.retain(condition);

在上面的代码中,首先创建了一个包含数字1到5的矢量。然后定义 condition 闭包来过滤所有偶数,最后在矢量上调用 retain() 方法,以删除与条件不符的所有元素。在这个例子中,得到的矢量包含数字1、3和5。

使用 truncate() 方法删除元素

使用 Rust 中的 truncate() 方法,可以将矢量缩短到特定长度,从而删除一个或多个元素。以下是使用 truncate() 方法删除 Rust 矢量元素的示例代码:

let mut vector = vec![1, 2, 3, 4, 5];
let len = 3;
vector.truncate(len);

在上面的代码中,首先创建了一个包含数字1到5的矢量。然后,在 len 变量的位置调用 truncate() 方法,以将矢量缩短到包含前三个元素,最终得到的矢量包含数字1、2和3,数字4和5被成功删除。

总之,在 Rust 中删除矢量元素有多种不同的方法,你可以根据自己的需要选择最合适的方法。