How to Filter Items of a Vector based on a Condition in Rust - Step by Step Examples
How to Filter Items of a Vector based on a Condition in Rust ?
Answer
To filter items of a vector based on a condition in Rust, you can use the `iter` method combined with iterator adapters like `filter` or `filter_map`.
✐ Examples
1 Filter Items Greater Than a Threshold
In this example,
- First, you define a vector containing the elements you want to filter.
- Next, you specify the condition for filtering, such as greater than a threshold.
- Then, you use the `iter` method to create an iterator over the vector elements.
- Next, you use the `filter` method to filter elements based on the specified condition.
- Finally, you collect the filtered elements into a new vector.
Rust Program
fn main() {
// Define a vector containing elements
let vector = vec![1, 5, 10, 15, 20];
// Specify the threshold for filtering
let threshold = 10;
// Filter items greater than the threshold
let filtered_vector: Vec<_> = vector.iter().filter(|&x| *x > threshold).cloned().collect();
// Print the filtered vector
println!("{:?}", filtered_vector);
}
Output
[15, 20]
2 Filter Items Meeting a Condition
In this example,
- Define a vector containing elements.
- Specify the condition for filtering.
- Use the `iter` method to create an iterator over the vector elements.
- Use the `filter` method with a closure to filter items meeting the condition.
- Collect the filtered elements into a new vector.
Rust Program
fn main() {
// Define a vector containing elements
let vector = vec![1, 5, 10, 15, 20];
// Specify the condition for filtering
let condition = |&x| x % 2 == 0; // Select even numbers
// Filter items meeting the condition
let filtered_vector: Vec<_> = vector.iter().filter(|&x| condition(x)).cloned().collect();
// Print the filtered vector
println!("{:?}", filtered_vector);
}
Output
[10, 20]
Summary
In this tutorial, we learned How to Filter Items of a Vector based on a Condition in Rust language with well detailed examples.
More Rust Vectors Tutorials
- How to create an Empty Vector in Rust ?
- How to Initialize a Vector in Rust ?
- How to Get Length of a Vector in Rust ?
- How to create a Vector of Size N in Rust ?
- How to create a Vector of Numbers from 1 to N in Rust ?
- How to create a Vector of Integers in Rust ?
- How to create a Vector of Strings in Rust ?
- How to create a Vector of Empty Vectors in Rust ?
- How to Access Items in a Vector in Rust ?
- How to get Item in a Vector at a Specific Index in Rust ?
- How to get First Item in a Vector in Rust ?
- How to get Last Item in a Vector in Rust ?
- How to Iterate Over a Vector in Rust ?
- How to Iterate Over a Vector with Index in Rust ?
- How to Iterate Over a Vector in Reverse Order in Rust ?
- How to check if a Vector is Empty in Rust ?
- How to check if a Vector is Not Empty in Rust ?
- How to get Sub Vector in Rust ?
- How to get the Index of Specified Item in a Vector in Rust ?
- How to check if a Specific Item is present in the Vector in Rust ?
- How to check if a Vector contains all the items of Another Vector in Rust ?
- How to count the Number of Occurrences of Specific Item in the Vector in Rust ?
- How to find the Item with Maximum Number of Occurrences in a Vector in Rust ?
- How to find the Item with Minimum Number of Occurrences in a Vector in Rust ?
- How to Sort a Vector in Rust ?
- How to Sort a Vector in Ascending Order in Rust ?
- How to Sort a Vector in Descending Order in Rust ?
- How to create a Two Dimensional Vector in Rust ?
- How to Iterate over a Two Dimensional Vector in Rust ?
- How to create a Three Dimensional Vector in Rust ?
- How to Copy a Vector in Rust ?
- How to Split a Vector in Rust ?
- How to Join Vectors in Rust ?
- How to Append an Item to a Vector in Rust ?
- How to Insert an Item at Specific Index in a Vector in Rust ?
- How to Append a Vector to another Vector in Rust ?
- How to Concatenate Two Vectors in Rust ?
- How to check if Two Vectors are Equal in Rust ?
- How to check if Two Vectors have Same Items (Regardless of Order) in Rust ?
- How to Convert a Vector of Integers to a Vector of Strings in Rust ?
- How to Convert a Vector of Strings to a Vector of Integers in Rust ?
- How to Convert a Vector of Floats to a Vector of Strings in Rust ?
- How to Convert a Vector of Strings to a Vector of Floats in Rust ?
- How to Reverse a Vector in Rust ?
- How to Shuffle a Vector in Rust ?
- How to Slice a Vector in Rust ?
- How to get First N Items from a Vector in Rust ?
- How to get Last N Items from a Vector in Rust ?
- How to Rotate Items in a Vector in Rust ?
- How to Filter Items of a Vector based on a Condition in Rust ?
- How to Remove Duplicates in a Vector in Rust ?
- How to Remove Item at a Specific Index from a Vector in Rust ?
- How to Remove Specific Item from a Vector in Rust ?
- How to Remove Items from Vector based on a Condition in Rust ?
- How to Sort a String Vector in Dictionary Order in Rust ?
- How to Concatenate Strings in Vector in Rust ?
- How to create a Vector of Vectors in Rust ?