Skip to content

Tự học Rust - Bài 8: Mảng (Arrays) & Vectors

TuanNDA
Updated date:
Edit this post

Table of contents

Open Table of contents

1. Mảng (Arrays) - Kích thước cố định

Mảng trong Rust có kích thước cố định và được lưu trữ trên Stack (vùng nhớ nhanh). Bạn không thể thêm hoặc xóa phần tử sau khi đã tạo.

Khai báo mảng:

let numbers = [1, 2, 3, 4, 5];
let fruits: [&str; 3] = ["táo", "chuối", "cam"]; // Khai báo kèm kiểu và độ dài

Truy cập và thay đổi:

let mut numbers = [10, 20, 30];
numbers[0] = 100; // Thay đổi phần tử đầu tiên
println!("Số đầu tiên: {}", numbers[0]);

2. Vectors - Kích thước linh hoạt

Vector là một danh sách có thể co giãn, được lưu trữ trên Heap. Đây là cấu trúc dữ liệu cực kỳ phổ biến khi bạn không biết trước số lượng phần tử.

Khai báo Vector:

Dùng macro vec! để tạo nhanh một Vector.

let mut cars = vec!["Volvo", "BMW", "Ford"];

Thêm và xóa phần tử:

let mut fruits = vec!["táo"];
fruits.push("chuối"); // ["táo", "chuối"]
fruits.insert(0, "cam"); // ["cam", "táo", "chuối"]

3. Duyệt và In dữ liệu

Bạn có thể dùng vòng lặp for để duyệt qua mảng hoặc vector.

Lưu ý đặc biệt khi in:

let numbers = [1, 2, 3];
println!("Toàn bộ mảng: {:?}", numbers);

4. So sánh nhanh: Array vs Vector

Đặc điểmArrayVector
Kích thướcCố địnhLinh hoạt (Co giãn)
Bộ nhớStackHeap
Tốc độCực nhanhNhanh
Khai báo[1, 2, 3]vec![1, 2, 3]

Lời kết Bài 8

Lựa chọn giữa Array và Vector phụ thuộc vào việc bạn có cần thay đổi số lượng phần tử hay không. Ở bài tiếp theo, chúng ta sẽ làm quen với những cấu trúc dữ liệu đa dạng hơn: TuplesEnums.

Hẹn gặp lại các bạn!

Previous
Tự học Rust - Bài 9: Tuples & Enums - Cấu trúc dữ liệu linh hoạt
Next
Tự học Rust - Bài 7: Vòng lặp (Loops)