在 Rust 中,向量(Vector)是一种动态可增长的数组类型,允许存储多个相同类型的值。向量提供了灵活性和方便性,经常被用作存储和操作动态集合的数据结构。

以下是一些有关向量的基本操作:

创建向量:
fn main() {
    // 使用 vec! 宏创建向量
    let mut numbers = vec![1, 2, 3, 4, 5];

    // 使用新元素追加到向量
    numbers.push(6);
    numbers.push(7);

    // 使用 `println!` 宏打印向量的内容
    println!("{:?}", numbers);
}

访问元素:
fn main() {
    let numbers = vec![10, 20, 30];

    // 使用索引访问向量的元素
    let first = numbers[0];
    let second = numbers[1];

    // 使用 `get` 方法避免越界错误
    if let Some(third) = numbers.get(2) {
        println!("First: {}, Second: {}, Third: {}", first, second, third);
    } else {
        println!("Third element does not exist");
    }
}

迭代:
fn main() {
    let numbers = vec![1, 2, 3, 4, 5];

    // 使用 for 循环迭代向量
    for num in &numbers {
        println!("Number: {}", num);
    }
}

修改元素:
fn main() {
    let mut numbers = vec![10, 20, 30];

    // 使用索引修改向量的元素
    numbers[1] = 25;

    // 使用迭代器和 `enumerate` 方法修改元素
    for (index, num) in numbers.iter_mut().enumerate() {
        *num += index as i32;
    }

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

删除元素:
fn main() {
    let mut numbers = vec![1, 2, 3, 4, 5];

    // 使用 `pop` 方法删除末尾元素
    if let Some(last) = numbers.pop() {
        println!("Removed last element: {}", last);
    }

    // 使用 `remove` 方法删除指定索引的元素
    if let Some(removed) = numbers.remove(1) {
        println!("Removed element at index 1: {}", removed);
    }

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

向量在 Rust 中是非常常用的数据结构,由于其动态可增长的特性,非常适用于存储和操作变长数据集合。


转载请注明出处:http://www.zyzy.cn/article/detail/6799/Rust