diff --git a/single_file_tests/vec.rs b/single_file_tests/vec.rs index 11e5a14..0594446 100644 --- a/single_file_tests/vec.rs +++ b/single_file_tests/vec.rs @@ -1,4 +1,7 @@ -use std::collections::BTreeMap; +use std::collections::{ + BTreeMap, + HashSet, +}; fn main() { let v = vec![1, 3, 5]; @@ -23,9 +26,34 @@ fn main() { let v4 = v3.iter().map(|&x| x * 2).collect::>(); println!("{:?} -> {:?}", v3, v4); + println!("To Set:"); + let v5 = vec![1, 2, 3, 4]; + let v_s: HashSet = v5.into_iter().collect(); + println!("{:?}", v_s); + println!("To Map:"); let v = (0..5).collect::>(); let m = v.iter().map(|i| (*i, i * 10)).collect::>(); println!("{:?}", m); + + println!("HashSet Union:"); + let s_u_1 = vec![1, 2, 3].into_iter().collect::>(); + let s_u_2 = vec![4, 5, 6].into_iter().collect::>(); + println!("{:?}", s_u_1.union(&s_u_2)); + + println!("HashSet Difference:"); + let s_d_1 = vec![1, 2, 3].into_iter().collect::>(); + let s_d_2 = vec![2, 3, 4].into_iter().collect::>(); + println!("{:?}", s_d_1.difference(&s_d_2)); + + println!("HashSet Intersection:"); + let s_i_1 = vec![1, 2, 3].into_iter().collect::>(); + let s_i_2 = vec![2, 3, 4].into_iter().collect::>(); + println!("{:?}", s_i_1.intersection(&s_i_2)); + + println!("HashSet Symmetric Difference:"); + let s_sd_1 = vec![1, 2, 3].into_iter().collect::>(); + let s_sd_2 = vec![2, 3, 4].into_iter().collect::>(); + println!("{:?}", s_sd_1.symmetric_difference(&s_sd_2)); }