日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Rus入门到放弃——HashMap和BTreeMap

發布時間:2025/3/21 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Rus入门到放弃——HashMap和BTreeMap 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

1.HashMap和BTreeMap都是通過鍵值對來存儲數據,一個Key對應一個Value,同構。
2.HashMap和BTreeMap是通過鍵值(任何類型)來查找數據,而不是通過索引,鍵值是唯一的存在。
3.HashMap的key是可哈希,BTreeMap的key 可排序,HashMap無序,BTreeMap有序。
4.HashMap和BTreeMap的數據存儲在堆內存中。

示例

聲明

//聲明與賦值let mut hash_map = HashMap::new();//let mut hash:HashMap<String,u32> = HashMap::new();hash_map.insert(String::from("Red"), 10);hash_map.insert(String::from("Blue"), 225);

collect方法合成

let teams = vec![String::from("R"),String::from("G"),String::from("B"),String::from("A")];let intial = vec![20,100,255,127];//合成一個hashmaplet map:HashMap<_,_> = teams.iter().zip(intial.iter()).collect();

訪問

//訪問let color = String::from("B");let value = map.get(&color);match value {Some(s) => println!("{}",s),None => println!("Not value"),};

遍歷

//遍歷for (k,v) in &map{println!("{} - {} ", k,v);}

更新HashMap中的數據, 替換現有的值, 保留再有的值,忽略新的值,合并現有的值和新的值。

//更新hash_map.insert(String::from("Red"), 222);println!("{:?}",hash_map);//判斷是否存在再插入,存在則不插入hash_map.entry(String::from("Red")).or_insert(50);hash_map.entry(String::from("Yellow")).or_insert(100);println!("{:?}",hash_map);let text = "hello world woderful world";let mut map = HashMap::new();for word in text.split_whitespace(){let count = map.entry(word).or_insert(0);*count += 1;}println!("{:#?}",map);

總結

以上是生活随笔為你收集整理的Rus入门到放弃——HashMap和BTreeMap的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。