🗂️ Hash Maps

Hash Map Basics

Create, read, write, check — the 4 core operations

Hash maps (dict, object, Map, HashMap, map, unordered_map) are the most important data structure in coding interviews. Every language has a slightly different API.

Language:
Python
Loading...

All languages — Create & write

JavaScript
// In Interviews: Map (nicht plain object) bevorzugen!
const freq = new Map();

freq.set("a", 1);
freq.set("b", 2);

freq.get("a");           // 1
freq.get("x");           // undefined
freq.has("a");           // true
freq.size;               // Anzahl Einträge

// Hochzählen:
freq.set("a", (freq.get("a") ?? 0) + 1);
TypeScript
const freq = new Map<string, number>();

freq.set("a", 1);
freq.get("a");           // number | undefined
freq.has("a");           // boolean
freq.size;

// Hochzählen:
freq.set("a", (freq.get("a") ?? 0) + 1);
Java
Map<String, Integer> freq = new HashMap<>();

freq.put("a", 1);
freq.put("b", 2);

freq.get("a");                    // 1
freq.getOrDefault("x", 0);       // 0 (sicheres Lesen)
freq.containsKey("a");           // true
freq.size();                     // Anzahl

// Hochzählen (Idiom):
freq.put("a", freq.getOrDefault("a", 0) + 1);
// Oder kürzer:
freq.merge("a", 1, Integer::sum);
Go
freq := make(map[string]int)

freq["a"] = 1
freq["b"] = 2

// Lesen mit Existenzprüfung:
val, ok := freq["x"]   // val=0, ok=false
if ok {
    fmt.Println(val)
}

// Hochzählen (einfach — Go gibt 0 zurück bei fehlendem Key):
freq["a"]++
C++
unordered_map<string, int> freq;

freq["a"] = 1;
freq["b"] = 2;

freq["a"];                  // 1
freq.count("x");            // 0 (nicht vorhanden)
freq.find("a") != freq.end(); // true

// Hochzählen (++ erzeugt Key mit 0 falls nicht vorhanden):
freq["a"]++;