gw_rust_programming_tutorial/chapter_8/
test_map.rs

1use std::collections::HashMap;
2
3pub fn test_hash_map() {
4    //新建一个哈希 map
5    let mut scores = HashMap::new();
6
7    scores.insert(String::from("Blue"), 10);
8    scores.insert(String::from("Yellow"), 50);
9    //Entry 的 or_insert 方法在键对应的值存在时就返回这个值的可变引用,如果不存在则将参数作为新值插入并返回新值的可变引用。这比编写自己的逻辑要简明的多,另外也与借用检查器结合得更好。
10    scores.entry(String::from("Blue")).or_insert(30);
11
12    //将2个vec进行元组绑定成map
13    let teams = vec![String::from("Blue"), String::from("Yellow")];
14    let initial_scores = vec![10, 50];
15
16    let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect();
17
18    println!("map={:?}",scores);
19
20    test_cus_hash_map();
21}
22
23fn test_cus_hash_map(){
24    let mut mapCus:HashMap<i32,i32>=HashMap::new();
25    mapCus.insert(1,2);
26    mapCus.insert(2,2);
27
28    println!("{:?}",mapCus);
29
30}