- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Vectors in Rust Programming
Vectors in Rust are like re-sizable arrays. They are used to store objects that are of the same type and they are stored contiguously in memory
Like Slices, their size is not known at compile-time and can grow or shrink accordingly. It is denoted by Vec<T> in Rust
The data stored in the vector is allocated on the heap.
Example
In the below example, a vector named d is created using the Vec::new(); function that Rust provides.
fn main() { let mut d: Vec = Vec::new(); d.push(10); d.push(11); println!("{:?}", d); d.pop(); println!("{:?}", d); }
We push the elements into a vector using the push() function and we remove the elements using the pop() function.
Output
[10, 11] [10]
Rust also provides us with another way to create a vector. Instead of using the Vec::new() function, we can make use of vec! Macro.
Example
fn main() { let v = vec![1,2,3]; println!("{:?}",v); }
Output
[1, 2, 3]
The above vector is not mutable and if we try to mutate some of its values, then we will get an error.
Example
fn main() { let v = vec![1,2,3]; println!("{:?}",v); v[0] = 99; println!("{:?}",v); }
Output
| 4 | let v = vec![1,2,3]; | - help: consider changing this to be mutable: `mut v` 5 | println!("{:?}",v); 6 | v[0] = 99; | ^ cannot borrow as mutable
We can make it mutable by adding the mut keyword in front of the name of the vector we are defining.
Example
fn main() { let mut v = vec![1,2,3]; println!("{:?}",v); v[0] = 99; println!("{:?}",v); }
Output
[1, 2, 3] [99, 2, 3]
Lastly, it should be remembered that whenever the length of the vector exceeds the capacity, then the capacity of the vector will be increased automatically.
To Continue Learning Please Login
Login with Google