Rust vector filtering guide
Write a Rust program to create a vector with integers from 1 to 10. Filter out even numbers from the vector and print the resulting vector.
Sample Solution:
Rust Code:
// Define the main function
fn main() {
// Create a vector with integers 1 to 10
let numbers: Vec<i32> = (1..=10).collect(); // Use the collect() method to create a vector from a range
// Filter out odd numbers and collect the result into a new vector
let even_numbers: Vec<i32> = numbers.into_iter() // Convert the vector into an iterator
.filter(|&x| x % 2 == 0) // Use the filter method to keep only even numbers
.collect(); // Collect the filtered elements back into a vector
// Print the resulting vector with even numbers
println!("Even numbers: {:?}", even_numbers);
}
Output:
Even numbers: [2, 4, 6, 8, 10]
Explanation:
Here is a brief explanation of the above Rust code:
- fn main() {: This line defines the main function, which is the entry point of the program.
- let numbers: Vec<i32> = (1..=10).collect();: This line creates a vector named numbers containing integers from 1 to 10 using the "collect()" method with a range (1..=10).
- let even_numbers: Vec<i32> = numbers.into_iter(): This line starts the process of filtering out odd numbers by converting the 'numbers' vector into an iterator. The "into_iter()" method consumes the 'numbers' vector, allowing for iteration over its elements.
- .filter(|&x| x % 2 0): This line filters the elements of the iterator, keeping only those elements 'x' for which x % 2 0 is true (i.e., even numbers).
- .collect();: This line collects the filtered elements back into a new vector named 'even_numbers'.
- println!("Even numbers: {:?}", even_numbers);: This line prints the 'even_numbers' vector to the console. The {:?} syntax is used for debug formatting, which is suitable for printing the contents of collections like vectors.
Rust Code Editor:
Previous: Rust Vector sorting guide.
Next: Rust Vector Mapping guide.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics