- Mastering Rust
- Rahul Sharma Vesa Kaihlavirta
- 230字
- 2021-07-02 13:35:17
Hashmaps
Rust also provides us with maps, which can be used to store key-value data. They come from the std::collections module and are named HashMap. They are created with the HashMap::new constructor function:
// hashmaps.rs
use std::collections::HashMap;
fn main() {
let mut fruits = HashMap::new();
fruits.insert("apple", 3);
fruits.insert("mango", 6);
fruits.insert("orange", 2);
fruits.insert("avocado", 7);
for (k, v) in &fruits {
println!("I got {} {}", v, k);
}
fruits.remove("orange");
let old_avocado = fruits["avocado"];
fruits.insert("avocado", old_avocado + 5);
println!("\nI now have {} avocados", fruits["avocado"]);
}
In the preceding code, we created a new HashMap called fruits. We then insert some fruits into our fruits map, along with their count, using the insert method. Following that, we iterate over the key value pairs using for loop, where in we take a reference to our fruit map by &fruits, because we only want read access to the key and value. By default, the value will be consumed by the for loop. The for loop in this case returns a two field tuple ((k ,v)). There are also seperate methods keys() and values() available to iterate over just keys and values, respectively. The hashing algorithm used for hashing the keys of the HashMap type is based on the Robin hood open addressing scheme, but can be replaced with a custom hasher depending on the use case and performance. That's about it.
Next, let's look at slices.
- Vue 3移動Web開發與性能調優實戰
- Access 2010數據庫基礎與應用項目式教程(第3版)
- Expert Data Visualization
- Haxe Game Development Essentials
- Django 3.0入門與實踐
- C++語言程序設計
- Advanced UFT 12 for Test Engineers Cookbook
- Mastering Concurrency Programming with Java 9(Second Edition)
- Python+Office:輕松實現Python辦公自動化
- 現代C++語言核心特性解析
- WCF全面解析
- 軟技能2:軟件開發者職業生涯指南
- Java Web入門很輕松(微課超值版)
- Hands-On Artificial Intelligence with Unreal Engine
- 3ds Max瘋狂設計學院