Vectors in Rust

Vectors in Rust are a dynamic array type provided by the standard library. They are implemented as the Vec<T> type, where T represents the type of elements stored in the vector. Vectors can grow or shrink in size and provide efficient indexing and iteration.

Creating a Vector

You can create a new vector using the Vec::new method or the vec! macro:

#![allow(unused)] fn main() { let mut v: Vec<i32> = Vec::new(); let v = vec![1, 2, 3, 4, 5]; }

Adding Elements

You can add elements to a vector using the push method:

#![allow(unused)] fn main() { let mut v = Vec::new(); v.push(1); v.push(2); v.push(3); }

Accessing Elements

You can access elements in a vector using indexing or the get method:

#![allow(unused)] fn main() { let v = vec![1, 2, 3, 4, 5]; println!("The third element is {}", v[2]); match v.get(2) { Some(third) => println!("The third element is {}", third), None => println!("There is no third element."), } }

Iterating Over a Vector

You can iterate over the elements of a vector using a for loop:

#![allow(unused)] fn main() { let v = vec![1, 2, 3, 4, 5]; for i in &v { println!("{}", i); } }

Removing Elements

You can remove elements from a vector using the pop method or the remove method:

#![allow(unused)] fn main() { let mut v = vec![1, 2, 3, 4, 5]; v.pop(); // Removes the last element v.remove(1); // Removes the element at index 1 }

Vectors are a versatile and powerful collection type in Rust, suitable for many use cases where dynamic arrays are needed.