How to find Intersection of Two Sets in Rust


How to find Intersection of Two Sets in Rust ?

Answer

In Rust, you can find the intersection of two sets using the intersection method provided by the standard library's HashSet type.



✐ Examples

1 Find Intersection of Two Sets

In this example,

  1. We import the necessary modules, including std::collections::HashSet for working with sets.
  2. We create two HashSet instances, set1 and set2, initialized with some elements.
  3. We call the intersection method on set1, passing set2 as an argument, to find the intersection of the two sets.
  4. The intersection method returns a new HashSet containing the elements that are common to both sets.
  5. We print the elements of the intersection set to display the intersection of set1 and set2.

Rust Program

use std::collections::HashSet;

fn main() {
    let set1: HashSet<i32> = [1, 2, 3, 4].iter().cloned().collect();
    let set2: HashSet<i32> = [3, 4, 5, 6].iter().cloned().collect();

    let intersection: HashSet<_> = set1.intersection(&set2).cloned().collect();

    println!("Intersection of set1 and set2: {:?}", intersection);
}

Output

Intersection of set1 and set2: {3, 4}

2 Find Intersection of Two Sets with Duplicate Elements

In this example,

  1. We import the necessary modules, including std::collections::HashSet for working with sets.
  2. We create two HashSet instances, set1 and set2, initialized with some elements.
  3. We call the intersection method on set1, passing set2 as an argument, to find the intersection of the two sets.
  4. The intersection method returns a new HashSet containing the elements that are common to both sets.
  5. We print the elements of the intersection set to display the intersection of set1 and set2.

Rust Program

use std::collections::HashSet;

fn main() {
    let set1: HashSet<i32> = [1, 2, 2, 3, 4].iter().cloned().collect();
    let set2: HashSet<i32> = [2, 2, 3, 4, 5].iter().cloned().collect();

    let intersection: HashSet<_> = set1.intersection(&set2).cloned().collect();

    println!("Intersection of set1 and set2 with duplicates: {:?}", intersection);
}

Output

Intersection of set1 and set2 with duplicates: {2, 3, 4}

Summary

In this tutorial, we learned How to find Intersection of Two Sets 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 ?