Vec — dynamic, heap-allocated, growable. Array — fixed-size, stack-allocated, Copy.
Vec:
.push(), .pop().Copy (owns heap data).1let mut v = vec![1, 2, 3];2v.push(4);3v.pop();4v.insert(0, 0);5println!("{:?}", v); // [0, 1, 2]
Array:
Copy if elements do.1let a: [i32; 3] = [1, 2, 3];2let zeros = [0; 5];3let first = a[0]; // 14let len = a.len(); // 3
When to use:
Vec for most collection needs.Common mistakes:
vec! return type with arrays.