Wichtige Rust-Themen

Rust HashMap

Store values under keys and look them up fast: insert, get, entry and counting.

  • Profi
  • 3 Min. Lesezeit
  • 1 ausführbares Beispiel
Das lernst du
  • insert and get
  • entry().or_insert()
  • Sorting the keys
stock
"apple"5
"pear"5
"plum"1

Values found by key

A HashMap<K, V> stores values under keys, so you can find a value quickly by its key. It is Rust's version of a dictionary or associative array.

insert adds or replaces a value. entry(key).or_insert(0) returns the existing value or inserts a default, which makes counting easy. get returns an Option because the key may be missing. A HashMap has no fixed order, so the keys are sorted before printing.

Das Wichtigste

  1. get returns an Option: the key may be missing.
  2. entry(key).or_insert(0) is the counting pattern.
  3. A HashMap has no fixed order.

Ausführbares Rust-Beispiel

Rust
Code ausführen →
main.rs
use std::collections::HashMap;

fn main() {
    let mut stock: HashMap<String, u32> = HashMap::new();
    stock.insert(String::from("apple"), 3);
    stock.insert(String::from("pear"), 5);

    *stock.entry(String::from("apple")).or_insert(0) += 2;
    stock.entry(String::from("plum")).or_insert(1);

    println!("apples: {}", stock["apple"]);
    println!("has kiwi: {}", stock.contains_key("kiwi"));

    if let Some(count) = stock.get("pear") {
        println!("pears: {count}");
    }

    let mut names: Vec<&String> = stock.keys().collect();
    names.sort();
    println!("{:?}", names);
}
Run-Button für dieses Beispiel erstellen Ergebnis der Ausführung
apples: 5
has kiwi: false
pears: 5
["apple", "pear", "plum"]

Üben

Öffne das Beispiel im Online-Compiler, ändere einen Wert oder füge eine Zeile hinzu und sage die Ausgabe voraus, bevor du es ausführst. Bring den Code danach absichtlich zum Scheitern und lies die Meldung des Compilers.

Lektion fertig?

Markiere sie als gelernt, um deinen Fortschritt zu verfolgen.

Weiter: Word Frequency Counter →

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges