D має вбудованi асоціативні масиви, також відомi як HashMap-и.
Асоціативний масив з ключем типу string і типом значення
int оголошується наступним чином:
int[string] arr;
За допомогою ключа можна як отримати значення, так i встановити його:
arr["key1"] = 10;
Щоб перевірити, чи розташований ключ в асоціативному масиві, може
бути використан вираз in:
if ("key1" in arr)
writeln("Yes");
Вираз in повертає вказівник на значення, якщо його можна знайти,
або null в іншому випадку. Таким чином, перевірка на існування
і запис можуть бути легко об'єднані:
if (auto val = "key1" in arr)
*val = 20;
Доступ до ключу, який не існує дає помилку RangeError, яка негайно
припиняє виконання програми. Для безпечного доступу зі значенням за
замовчуванням може бути використано вираз get(key, ЗначенняЗаЗамовчуванням).
Асоциативнi масиви, як i звичайнi, мають властивість .length, а також
властивicть .remove(val), що видаляє запис по ключу. В якості вправи
читачу залишається дослідження спеціальних діапазонів .byKey
і .byValue.