map初始化容量问题

简介: map初始化容量问题

HashMap 初始化时可以设置容量参数,比如说你有7个参数,你可能会默认设置为7,但是这么设置其实是有问题的。


原因


HashMap 会根据用户的传值去选择大于这个值的第一个二的幂作为容量。

这么做是因为通过二的幂用来哈希寻址的方法是最高效的。


最佳值设置


(期望的容量值/扩展因子)+1

例如:期望容量值为7,扩展因子为默认值

则最佳值设置:(7/0.75)+1=10

相关文章
|
9月前
|
存储
初始化Map大小并非用多少指定多少
初始化Map大小并非用多少指定多少
|
存储 编译器 Go
Golang深入浅出之-掌握Go语言Map:初始化、增删查改与遍历
【4月更文挑战第21天】Go语言中的`map`提供快速的键值对操作,包括初始化、增删查改和遍历。初始化时,推荐使用`make()`函数,如`make(map[string]int)`。插入和查询键值对直接通过索引访问,更新则重新赋值。删除键值对需用`delete()`函数,确保键存在。遍历map常用`for range`,注意避免在遍历中修改map。了解这些并避免易错点,能提升代码效率和可读性。
342 1
Golang深入浅出之-掌握Go语言Map:初始化、增删查改与遍历
SpringBoot 项目启动初始化一个Map对象到内存
SpringBoot 项目启动初始化一个Map对象到内存
348 1
初始化Map大小并非用多少指定多少
初始化Map大小并非用多少指定多少
|
Linux
《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——2.4 内存管理结构mem_map初始化
本节书摘来自华章计算机《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》一书中的第2章,第2.4节,作者:新设计团队著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2436 0
|
6月前
|
安全 Java 数据库连接
让我们讲解一下 Map 集合遍历的方式
我是小假 期待与你的下一次相遇 ~
254 43
使用 entrySet 遍历 Map 类集合 KV
使用 entrySet 遍历 Map 类集合 KV
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19