Rust में HashMap में खोज और सम्मिलन को कुशलतापूर्वक कैसे करें?
नमस्ते, साथियों! मैं Rust में नया हूँ और `HashMap` के साथ काम करते समय एक समस्या का सामना कर रहा हूँ। मुझे एक frequency dictionary लागू करनी है: टेक्स्ट फ़ाइल से पंक्तियाँ पढ़ना, प्रत्येक शब्द के आने की संख्या गिनना और top-10 आउटपुट करना। अन्य भाषाओं (जैसे Python) में, मैं बस `dict[word] = dict.get(word, 0) + 1` करता था। लेकिन Rust में यह अधिक जटिल है।
यहाँ मेरा कोड है, जो काम करता है लेकिन बहुत अक्षम लगता है:
```rust
use std::collections::HashMap;
fn main() {
let text = "hello world hello rust rust rust";
let mut map: HashMap<&str, u32> = HashMap::new();
for word in text.split_whitespace() {
if map.contains_key(word) {
let count = map.get(word).unwrap();
map.insert(word, count + 1);
} else {
map.insert(word, 1);
}
}
println!("{:?}", map);
}
```
समस्याएँ:
1. मैं प्रत्येक शब्द के लिए `HashMap` पर दो बार access कर रहा हूँ: पहले `contains_key` चेक करता हूँ, फिर `get`, फिर `insert`। यह बर्बादी लगता है।