.一、
1、映射hash中鍵唯一
2、HashMap key可哈希,BTreeMapkey 可排序
3、HashMap無序,BTreeMap有序
二、
1、集合鍵(元素)唯一
2、HashSet元素可哈希,BTreeSet可排序
3、HashSet無序,BTreeSet有序
4、實質(zhì)為HashMap<K,()>、BTreeMap<K,()>,鍵為元素,值為空元組。
Finished dev
[unoptimized + debuginfo
] target
(s
) in 0.05sRunning
`F:\learn\rustlearn\learn48\target\debug\learn48.exe`
{3: 30, 2: 20, 9: 90, 8: 80, 5: 50, 4: 40, 6: 60, 7: 70, 1: 10
}
{10: 100, 11: 110, 12: 120, 13: 130, 14: 140, 15: 150, 16: 160, 17: 170, 18: 180, 19: 190
}
hamp 包括 8
=>Some
(80
)
bamp 包括 18
=>Some
(180
)
{"hset1",
"hset2"}
{"bset1",
"bset2"}------------------
(program exited with code: 0
)請按任意鍵繼續(xù).
. .
use std::collections::BTreeMap;
use std::collections::HashMap;
use std::collections::HashSet;
use std::collections::BTreeSet;
fn main() {let mut hmap=HashMap::new();let mut bmap=BTreeMap::new(); for i in 1..10{hmap.insert(i,i*10); }for i in 10..20{bmap.insert(i,i*10); }println!("{:?}",hmap); println!("{:?}",bmap); if hmap.contains_key(&8){println!("hamp 包括 {}=>{:?}",8,hmap.get(&8));}if hmap.contains_key(&18){println!("hamp 包括 {}=>{:?}",18,bmap.get(&18));} if bmap.contains_key(&8){println!("bamp 包括 {}=>{:?}",8,hmap.get(&8));}if bmap.contains_key(&18){println!("bamp 包括 {}=>{:?}",18,bmap.get(&18));} let mut bset=BTreeSet::new(); let mut hset=HashSet::new();hset.insert("hset1");hset.insert("hset2"); bset.insert("bset1");bset.insert("bset2"); println!("{:?}",hset); println!("{:?}",bset);
}
總結(jié)
以上是生活随笔為你收集整理的rust(47)-key-value哈希-HashMap,BTreeMap,HashSet,BTreeSet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。