-
Vectors are resizable arrays
-
Two ways to create a vector:
vec!
macrolet my_vec: Vec<i32> = vec![1, 2, 3, 4, 5];
Vec::new();
let mut my_vec = Vec::new();
-
Access an Element of a Vector
my_vec[0]
-
Print the Vector
fn main() { let my_vec = vec![1, 2, 3,4,5]; //using debug trait println!("Vector : {:?}", my_vec); println!("Print using for loop"); // using loop let mut index = 0; for i in my_vec { println!("Element at index {}:{} ", index, i); index = index+1; } }
-
Methods of Vectors
Vec::new()
push(arg)
pop()
contains(arg)
remove(index)
len()
reserve()
capacity()
- and more
-
Iterating on values in vector
iter()
methodlet my_vec = vec![1, 2, 3, 4, 5]; // using loop let mut index = 0; for i in my_vec.iter(){ // it works even if .iter() is not written println!("Element at index {}:{} ", index, i); index = index + 1; }
-
Iterate and Mutate Values
.iter_mut()
methodlet mut my_vec = vec![1, 2, 3, 4, 5]; println!("Initial Vector : {:?}", my_vec); for x in my_vec.iter_mut(){ *x *= 3; } // print the updated vector println!("Updated Vector : {:?}", my_vec);
-
slicing a vector
let my_vec = vec![1, 2, 3, 4, 5]; let slice:&[i32] = &my_vec[2..4]; // print the vector println!("Slice of the vector : {:?}",slice);
-
vector can be of type
enum