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ử:
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: Tuples và Enums.
Hẹn gặp lại các bạn!