Current date May 18, 2026
Tự học Rust

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

URL copied
Share URL copied

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ử:

  • `push()`: Thêm vào cuối.
  • `pop()`: Xóa phần tử cuối cùng.
  • `insert(index, value)`: Thêm vào vị trí bất kỳ.
  • `remove(index)`: Xóa tại vị trí bất kỳ.
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:

  • In một phần tử: Dùng `{}`.
  • In toàn bộ mảng/vector (để debug): Dùng `{:?}`.
let numbers = [1, 2, 3];
println!("Toàn bộ mảng: {:?}", numbers);

4. So sánh nhanh: Array vs Vector

| Đặc điểm | Array | Vector |

| :— | :— | :— |

| Kích thước | Cố định | Linh hoạt (Co giãn) |

| Bộ nhớ | Stack | Heap |

| Tốc độ | Cực nhanh | Nhanh |

| 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!

Share URL copied

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Active0
AI3
AI & Automation10

Exclusives

Lifestyle

Related Articles

Tự học Rust – Bài 20: Concurrency – Đa luồng an toàn tuyệt đối

Khám phá cách Rust xử lý lập trình đa luồng mà không...

Tự học Rust – Bài 19: Con trỏ thông minh (Smart Pointers)

Vượt xa các tham chiếu thông thường với Smart Pointers: Box, Rc...

Tự học Rust – Bài 18: Lifetimes – Đảm bảo tham chiếu hợp lệ

Lifetimes là gì? Tại sao Rust cần chúng? Tìm hiểu cách trình...

Tự học Rust – Bài 17: Generics – Viết mã nguồn linh hoạt

Sử dụng Generics trong Rust để tạo ra các hàm và cấu...