Dung (Donny) Nguyen

Senior Software Engineer

HashMap vs TreeMap

1. Ordering

HashMap

TreeMap


2. Performance

Operation HashMap TreeMap
get() O(1) average O(log n)
put() O(1) average O(log n)
remove() O(1) O(log n)

Why?


3. Null keys and values

HashMap

TreeMap


4. Underlying Data Structure

HashMap TreeMap
Hash table Red-Black Tree

5. Use cases

Use HashMap when:

Use TreeMap when:


6. Example

HashMap

Map<String, Integer> map = new HashMap<>();
map.put("c", 3);
map.put("a", 1);
map.put("b", 2);
System.out.println(map); // random order

TreeMap

Map<String, Integer> map = new TreeMap<>();
map.put("c", 3);
map.put("a", 1);
map.put("b", 2);
System.out.println(map); // {a=1, b=2, c=3}

📌 Summary

Feature HashMap TreeMap
Order Unordered Sorted
Speed Faster Slower
Null Key Allowed Not allowed
Structure Hash table Red-black tree
Good for Fast lookup Sorted data, range queries