HashMap offers O(1) average access time with unordered keys, while BTreeMap provides O(log n) access with keys sorted by their Ord implementation. Use HashMap for speed when order doesn't matter, and BTreeMap when you need sorted iteration or range queries.
use std::collections::{HashMap, BTreeMap};
// HashMap: Fast, unordered
let mut hash_map = HashMap::new();
hash_map.insert("apple", 10);
hash_map.insert("banana", 20);
// BTreeMap: Slower, sorted keys
let mut tree_map = BTreeMap::new();
tree_map.insert("apple", 10);
tree_map.insert("banana", 20);
// Iterating tree_map yields keys in alphabetical order