How to Filter Items of a Set based on a Condition in Rust


How to Filter Items of a Set based on a Condition in Rust ?

Answer

To filter items of a set based on a condition in Rust, you can use iterators and closures with the filter method to create a new set from the filtered items.



✐ Examples

1 Filtering Numbers Greater Than 5

In this example,

  1. We create a set named number_set using the hashset! macro from the hashbrown crate, which contains integer values 1, 5, 10, 15, and 20.
  2. We use the iter() method to create an iterator over number_set and chain it with the filter method, which takes a closure as the filtering condition to filter numbers greater than 5.
  3. We collect the filtered items into a new set named filtered_set.
  4. Finally, we iterate through filtered_set and print each filtered item to the console.

Rust Program

use hashbrown::HashSet;

fn main() {
    let number_set = hashset!{1, 5, 10, 15, 20};
    let filtered_set: HashSet<i32> = number_set.iter().filter(|&num| *num > 5).copied().collect();

    for num in &filtered_set {
        println!("{}", num);
    }
}

Output

10
15
20

2 Filtering Strings Containing 'a'

In this example,

  1. We create a set named string_set using the hashset! macro from the hashbrown crate, which contains string values "apple", "banana", "cherry", "date", and "grape".
  2. We use the iter() method to create an iterator over string_set and chain it with the filter method, which takes a closure as the filtering condition to filter strings containing the letter 'a'.
  3. We collect the filtered items into a new set named filtered_string_set.
  4. Finally, we iterate through filtered_string_set and print each filtered string to the console.

Rust Program

use hashbrown::HashSet;

fn main() {
    let string_set = hashset!{"apple", "banana", "cherry", "date", "grape"};
    let filtered_string_set: HashSet<&str> = string_set.iter().filter(|&str| str.contains('a')).copied().collect();

    for str in &filtered_string_set {
        println!("{}", str);
    }
}

Output

apple
banana
grape

Summary

In this tutorial, we learned How to Filter Items of a Set based on a Condition in Rust language with well detailed examples.




More Rust Sets Tutorials

  1. How to create an Empty Set in Rust ?
  2. How to Initialize a Set in Rust ?
  3. How to Get Length of a Set in Rust ?
  4. How to create a Set of size N in Rust ?
  5. How to create a Set of Numbers from 1 to N in Rust ?
  6. How to create a Set of integers in Rust ?
  7. How to create a Set of Strings in Rust ?
  8. How to Access Items in a Set in Rust ?
  9. How to get a Random Item in a Set in Rust ?
  10. How to Iterate Over a Set in Rust ?
  11. How to check if a Set is Empty in Rust ?
  12. How to check if a Set is Not Empty in Rust ?
  13. How to get Subset from a Set in Rust ?
  14. How to check if a Specific Item is present in the Set in Rust ?
  15. How to check if a Set contains all the items of Another Set in Rust ?
  16. How to Sort Items of a Set in Rust ?
  17. How to Copy a Set in Rust ?
  18. How to add an Item to a Set in Rust ?
  19. How to find Union of Two Sets in Rust ?
  20. How to find Intersection of Two Sets in Rust ?
  21. How to check if Two Sets are Equal in Rust ?
  22. How to Convert a Set of Integers to a Set of Strings in Rust ?
  23. How to Convert a Set of Strings to a Set of Integers in Rust ?
  24. How to Convert a Set of Floats to a Set of Strings in Rust ?
  25. How to Convert a Set of Strings to a Set of Floats in Rust ?
  26. How to Filter Items of a Set based on a Condition in Rust ?
  27. How to Remove Specific Item from a Set in Rust ?
  28. How to Remove Items from Set based on a Condition in Rust ?
  29. How to create a Set of Sets in Rust ?