Я только знаю, что различие между hashmap и картой - то, что hashmap реализован с хеш-функцией, но карта реализована с деревом. Какое-либо тело могло добавить что-нибудь больше?
На основе этого, там какая-либо вещь hashmap, может сделать, но карта не может?
Хэш-карты имеют в среднем лучшую производительность для доступа (O (1)), но худшая производительность в худшем случае (O (n)). Карты всегда O (lg (n)).
Карты упорядочены по ключу, хэш-карты - нет.
Хэш-карты обычно используют больше памяти, чем карты.
Карты обычно позволяют ускорить итерацию.
Хорошие хеш-функции сложнее написать, чем хорошие функции упорядочивания (и их труднее анализировать).
Я не верю, что есть что-то, что может сделать хэш-карта, чего не может сделать карта.
Карта требует, чтобы ключ имел строгий слабый порядок, который, возможно, может не существовать. Для хэш-карты нужна только хеш-функция. Таким образом, хэш-карта может использоваться с ключами, которые не имеют строгого слабого порядка.
Одно из преимуществ хэш-карт по сравнению с деревьями заключается в том, что в многопоточной среде вам не нужно блокировать весь контейнер, чтобы добавить или удалить единственный ключ - блокировка единственной релевантной записи в хеш-таблице (почти ) достаточно.
Почти потому, что могут быть обновлены метаданные (например, количество элементов в хеш-таблице). И, конечно, вам, вероятно, потребуется заблокировать всю таблицу, чтобы увеличить или уменьшить ее.