This commit is contained in:
2020-05-10 13:29:44 +08:00
parent 48408e8963
commit 99a0486e26

View File

@@ -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::<Vec<_>>();
println!("{:?} -> {:?}", v3, v4);
println!("To Set:");
let v5 = vec![1, 2, 3, 4];
let v_s: HashSet<usize> = v5.into_iter().collect();
println!("{:?}", v_s);
println!("To Map:");
let v = (0..5).collect::<Vec<i32>>();
let m = v.iter().map(|i| (*i, i * 10)).collect::<BTreeMap<i32, i32>>();
println!("{:?}", m);
println!("HashSet Union:");
let s_u_1 = vec![1, 2, 3].into_iter().collect::<HashSet<usize>>();
let s_u_2 = vec![4, 5, 6].into_iter().collect::<HashSet<usize>>();
println!("{:?}", s_u_1.union(&s_u_2));
println!("HashSet Difference:");
let s_d_1 = vec![1, 2, 3].into_iter().collect::<HashSet<usize>>();
let s_d_2 = vec![2, 3, 4].into_iter().collect::<HashSet<usize>>();
println!("{:?}", s_d_1.difference(&s_d_2));
println!("HashSet Intersection:");
let s_i_1 = vec![1, 2, 3].into_iter().collect::<HashSet<usize>>();
let s_i_2 = vec![2, 3, 4].into_iter().collect::<HashSet<usize>>();
println!("{:?}", s_i_1.intersection(&s_i_2));
println!("HashSet Symmetric Difference:");
let s_sd_1 = vec![1, 2, 3].into_iter().collect::<HashSet<usize>>();
let s_sd_2 = vec![2, 3, 4].into_iter().collect::<HashSet<usize>>();
println!("{:?}", s_sd_1.symmetric_difference(&s_sd_2));
}