<sub class="descriptionSection">12-10-2024 06:09:pm // #Types // [[Programmierung]]</sub> ____ > [!caution] Achtung! > Advanced Features ahead! Nicht in der Prüfung zugelassen! Eine Hashmap repräsentiert eine Liste von [[key-value-pair]]s. Sie werden meistens genutzt um schnell Variablen nach einem Key abzufragen, meistens in REST Apis, etc. ## Beispiel einer Hashmap Eine Hashmap könnte z.B genutzt werden um auf Daten Zuzugreifen, die nicht in einem Array gespeichert werden können. Z.b kann man damit Datensätze aus einer Datenbank speichern und dann schnell per Key (z.B eine ID aus der DB) zuzugreifen. ## Hashmaps in Cpp Eine Hashmap in Cpp erstellt man so: ```cpp map<string, int> MapName; ``` Der erste Datentyp gibt an, welchen Datentyp der Key haben soll, der zweite welchen der Wert hat. Das erstellt eine Leere Hashmap, der dann Werte so zugewiesen können: ```cpp MapName["Hello"] = 200; ``` Zum accessen von einem Wert in einer Hashmap, kann dann die Funktion hier genutzt werden: ```cpp int testVar = MapName["Hello"] ``` Es sollte allerdings gecheckt werden, dass der Wert tatsächlich existiert (vor allem bei Userinput). Man kann nach einem Key suchen in einer Hashmap in dem man die `.find()` funktion nutzt: ```cpp MapName.find(tariff) ``` Diese funktion returned die position des Keys in der Hashmap zurück. **Wenn der Key nicht gefunden wird, returned diese Funktion die länge des Arrays + 1** Somit müsste ein If check so aussehen: ```cpp if(MapName.find(variable) == MapName.end()) { //case handeln wenn der Key nicht gefunden wird, z.B return, break, etc. } ```