rust / beginner
Snippet
Arbeiten mit HashMap Schlüssel-Wert-Speicher
HashMap speichert Schlüssel-Wert-Paare mit O(1) durchschnittlicher Suchzeit. Die entry-API ist leistungsstark für Einfügen-oder-Aktualisieren-Muster. or_insert gibt eine veränderliche Referenz auf den Wert zurück und ermöglicht Änderungen.
snippet.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use std::collections::HashMap;fn word_count(text: &str) -> HashMap<&str, i32> {let mut counts = HashMap::new();for word in text.split_whitespace() {let count = counts.entry(word).or_insert(0);*count += 1;}counts}fn main() {let sentence = "hello world hello rust hello";let frequencies = word_count(sentence);for (word, count) in &frequencies {println!("{}: {}", word, count);}}
Erklärung
1
counts.entry(word).or_insert(0)
Holt den Eintrag für den Schlüssel, fügt 0 ein wenn fehlend, gibt veränderliche Referenz zurück
2
*count += 1
Dereferenziert und erhöht den Zähler
3
for (word, count) in &frequencies
Iteriert über Schlüssel-Wert-Paare durch Ausleihen