rust學習-5.2-集合-Vec

在Rust編程語言中,Vec 是一個可增長的可變數組,用于存儲一系列元素。它屬于Rust標準庫提供的集合類型之一。Vec 是泛型的,這意味著它可以存儲任何類型的數據。
Vec 通過宏 vec! 進行初始化,這個宏允許你輕松地創(chuàng)建一個包含初始元素的向量。使用 vec! 宏時,你可以在宏調用中直接指定初始元素。
下面是 Vecvec! 宏的基本用法示例:

fn main() {
    // 使用vec!宏創(chuàng)建一個包含初始元素的Vec
    let v: Vec<i32> = vec![1, 2, 3, 4, 5];
    // Vec的長度
    println!("The length of the vector is: {}", v.len());
    // 訪問Vec中的元素
    println!("The first element is: {}", v[0]);
    println!("The second element is: {}", v[1]);
    // 遍歷Vec中的元素
    for i in &v {
        println!("{}", i);
    }
    // 可變的Vec,可以更改其元素
    let mut m = vec![1, 2, 3];
    m.push(4);
    m.push(5);
    println!("The modified vector is: {:?}", m);
}

在這個例子中:

  • vec![1, 2, 3, 4, 5]; 使用 vec! 宏創(chuàng)建了一個包含5個 i32 類型元素的 Vec
  • v.len() 獲取 Vec 的長度。
  • v[0]v[1] 通過索引訪問 Vec 中的元素。
  • 使用 for 循環(huán)遍歷 Vec 中的元素。
  • mut 關鍵字用于聲明一個可變的 Vec,然后使用 push 方法向 Vec 添加新元素。
    使用 Vecvec! 宏時,需要記住的是:
  • Vec 在內存中是連續(xù)存儲的。
  • Vec 可以通過 push 方法添加元素,通過 pop 方法移除元素。
  • Vec 的索引訪問是快速的,但添加或刪除元素可能會涉及重新分配內存和復制數據。
  • 當使用索引訪問 Vec 時,需要確保索引是有效的,否則程序將會 panic。

Vec 的切片

fn main() {
    let vec = vec![1, 2, 3, 4, 5];
    let slice_of_vec = &vec[1..4]; // 包含索引1,不包含索引4
    println!("Vec 切片: {:?}", slice_of_vec);
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容