📜  rust 过滤向量示例 - Rust (1)

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

Rust 过滤向量示例

在 Rust 中,向量是一种动态数组,它们可以自动扩展和收缩以容纳任意数量的元素。有时候,我们需要对向量中的元素进行过滤,只保留符合特定条件的元素。

下面是一个 Rust 过滤向量示例:

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

    // 从向量中过滤出所有偶数
    let evens: Vec<i32> = nums.into_iter()
                              .filter(|&n| n % 2 == 0)
                              .collect();

    println!("{:?}", evens);
}

在这个示例中,我们首先创建了一个包含 1 到 5 的整数向量 nums。然后,我们使用 into_iter() 方法从向量中获取一个迭代器,并使用 filter() 方法对每个元素进行条件过滤。在这里,我们使用了闭包来检查元素是否为偶数。最后,我们将过滤出的元素收集到一个新的向量 evens 中,并使用 println!() 函数输出结果。

输出应该为:[2, 4]

值得注意的是,由于 filter() 方法不会直接修改原始向量,因此我们必须将结果收集到一个新的向量中。

通过使用迭代器和闭包,我们可以对 Rust 向量中的元素进行高效过滤和转换。这是 Rust 强大和灵活的语言特性之一。