HashMap<K, V> stores key-value pairs with average O(1) lookup. Keys need Hash and Eq; ownership rules apply when inserting owned keys.
Insert and get
use std::collections::HashMap;
let mut m = HashMap::new();
m.insert("a", 1);
Self-check
- Which trait do keys need for hashing?
- What does
getreturn for missing keys?
Entry API
entry(key).or_insert(0) avoids double lookup when counting frequencies—common in interview “group by” questions.
Iterating a map yields references; order is randomized—do not rely on key order unless using BTreeMap.