How to get unique values from two arrays in Rust

1 Answer

0 votes
use std::collections::HashSet;

fn get_unique_values(arr1: &[i32], arr2: &[i32]) -> Vec<i32> {
    let set1: HashSet<_> = arr1.iter().cloned().collect();
    let set2: HashSet<_> = arr2.iter().cloned().collect();

    let st: HashSet<_> = set1.symmetric_difference(&set2).cloned().collect();
    let mut result: Vec<_> = st.into_iter().collect();
    result.sort();
    
    result
}

fn main() {
    let arr1 = vec![1, 3, 6, 8, 12, 90];
    let arr2 = vec![2, 3, 5, 6, 7, 8, 96];

    let result = get_unique_values(&arr1, &arr2);
    println!("{:?}", result);
}


     
/*
run:
  
[1, 2, 5, 7, 12, 90, 96]
    
*/

 



answered Feb 17, 2025 by avibootz

Related questions

1 answer 94 views
1 answer 108 views
1 answer 113 views
1 answer 112 views
1 answer 97 views
1 answer 93 views
...