4 · Data & Collections · lesson 21 of 41

HashMap & HashSet

Key → value in O(1) average — using hashCode() and equals().

Java
Map<String, Integer> ages = new HashMap<>();
ages.put("Ada", 36);
ages.put("Grace", 85);
int a = ages.getOrDefault("Ada", 0);

for (var entry : ages.entrySet()) {
    System.out.println(entry.getKey() + " → " + entry.getValue());
}

Set<String> unique = new HashSet<>(List.of("a","b","a"));  // {a,b}
TIP
The 3D scene shows buckets: keys hash to a bucket index; collisions form a chain.
Loading 3D scene…
Key takeaways
  • ✓Custom keys must implement equals() AND hashCode() consistently.
  • ✓HashMap is unordered; use LinkedHashMap for insertion order.