Find The Unique Elements In Two Arrays In Rust
Code snippet for how to Find The Unique Elements In Two Arrays In Rust with sample and detail explanation
Finding unique elements in two arrays can be a challenging task for beginner programmers. This task involves examining two arrays and selecting the nonrecurring elements in Rust.
Code snippet for finding unique elements in two arrays in Rust
Below is a simple demonstration of how you can find the unique elements in two arrays using Rust language:
use std::collections::HashSet;
fn main() {
let array1 = [1, 2, 3, 4, 5];
let array2 = [4, 5, 6, 7, 8];
let set1: HashSet<_> = array1.iter().collect();
let set2: HashSet<_> = array2.iter().collect();
let unique_elements: HashSet<_> = set1.symmetric_difference(&set2).collect();
println!("{:?}", unique_elements);
}
Code Explanation for finding unique elements in two arrays in Rust
In the above program, first of all, we import the HashSet
data structure from the std::collections
module. HashSet
is a collection of unique elements and implements set operations like union, difference, and intersection.
use std::collections::HashSet;
Next, we define our main function where we declare two arrays, array1
and array2
, of which we want to find the unique elements.
fn main() {
let array1 = [1, 2, 3, 4, 5];
let array2 = [4, 5, 6, 7, 8];
Afterwards, we turn both arrays into HashSets. Sets inherently ensure that all the elements are unique.
let set1: HashSet<_> = array1.iter().collect();
let set2: HashSet<_> = array2.iter().collect();
Using the symmetric_difference
method, we obtain a third HashSet, unique_elements
, which contains all the unique elements from both arrays. This method returns all the values that are in either of the sets, but not in their intersection.
let unique_elements: HashSet<_> = set1.symmetric_difference(&set2).collect();
Finally, we print the unique_elements
set to the console.
println!("{:?}", unique_elements);
}
Running this code, you will see all the unique elements present in the array1
and array2
. In this case, the expected output will be {1, 2, 3, 6, 7, 8}
.