我試圖用鏽的集合,如BTreeMap存儲鍵值對,用它作爲排序列表鏽排序鍵值地圖與部分鍵搜索
,並發現它匹配精確關鍵字只有 例如在電話簿中,我可以找到帶有「David」鍵的項目,但不能以「Dav」開頭。
let mut map = BTreeMap::new();
map.insert("Daniel", "798-1364");
match map.get(&"Dan") { // FOUND WITH EXACT MATCH ONLY
// like map.get(&"Daniel"), Not Found Here
Some(&number) => println!("Found: {}", number),
_ => println!("Not Found."),
}
我想知道如果我能做到部分匹配(字符串前綴)鐵鏽的std ::集合,如BTreeMap
而且,如果我的關鍵是Int64的,我能找到的項目範圍說關鍵> 1000 我想遍歷找到的項目範圍,但不知道如何遍歷所有項目
或者我可以通過索引訪問項目,以便我可以手動執行二分搜索嗎?
注意'map.get'就沒有意義,因爲多個條目可能具有相同的前綴。它需要能夠返回零或多個。 – Shepmaster 2014-12-07 17:14:59