1. hash_map
HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。
hashMap使用开链法构建hashTable
2. hash_map和map选择
2.1. 查找速度
hash_map速度快。
总体来说,hash_map 查找速度会比 map 快,而且查找速度基本和数据数据量大小无关,属于常数级别;
而 map 的查找速度是 log(n) 级别。
2.2. 数据量
hash_map效率高
如果你考虑效率,特别是在元素达到一定数量级时,考虑考虑 hash_map。
2.3. 内存空间
hash_map内存空间消耗大
内存使用特别严格,希望程序尽可能少消耗内存,那么一定要小心,hash_map 可能会让你陷入尴尬,特别是当你的 hash_map 对象特别多时,你就更无法控制了。而且 hash_map 的构造速度较慢。