Vec (Vector) di Rust
Vec<T> adalah dynamic array di Rust — bisa bertambah dan berkurang ukurannya. Ini adalah koleksi paling umum digunakan.
Membuat Vector
// Cara 1: Vec::new()
let mut angka: Vec<i32> = Vec::new();
angka.push(1);
angka.push(2);
angka.push(3);
// Cara 2: vec! macro (lebih praktis)
let buah = vec!["apel", "jeruk", "mangga"];
Akses Elemen
let v = vec![10, 20, 30, 40, 50];
println!("{}", v[0]); // 10 (bisa panic jika out of bounds!)
println!("{:?}", v.get(1)); // Some(20) (aman, return Option)
println!("{}", v.len()); // 5
Modifikasi
let mut v = vec![1, 2, 3];
v.push(4); // tambah di akhir
v.pop(); // hapus dari akhir, return Some(4)
v.insert(0, 0); // insert di index 0
v.remove(1); // hapus index 1
println!("{:?}", v); // [0, 2, 3]
Iterasi
let v = vec![1, 2, 3, 4, 5];
// Immutable iteration
for item in &v {
println!("{}", item);
}
// Mutable iteration
let mut v = vec![1, 2, 3];
for item in &mut v {
*item *= 2;
}
println!("{:?}", v); // [2, 4, 6]
Method Berguna
let v = vec![3, 1, 4, 1, 5, 9];
println!("{}", v.contains(&4)); // true
println!("{}", v.is_empty()); // false
let mut v2 = v.clone();
v2.sort();
println!("{:?}", v2); // [1, 1, 3, 4, 5, 9]