How to use BTreeMap vs HashMap

Use HashMap for speed and BTreeMap for sorted, deterministic key ordering in Rust.

Use HashMap for fastest average-case lookups when key order doesn't matter, and BTreeMap when you need keys sorted or deterministic iteration order.

use std::collections::{HashMap, BTreeMap};

// Fastest average lookup, random order
let mut unordered = HashMap::new();
unordered.insert("apple", 1);

// Sorted keys, deterministic iteration
let mut ordered = BTreeMap::new();
ordered.insert("apple", 1);

HashMap uses a hash function for O(1) average access but offers no ordering guarantees. BTreeMap keeps keys sorted in a tree structure, providing O(log n) access and iteration in key order.