返回顶部
首页 > 资讯 > 后端开发 > Python >Java中HashMap的初始容量设置方式
  • 327
分享到

Java中HashMap的初始容量设置方式

2024-04-02 19:04:59 327人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

Java中HashMap的初始容量设置 根据阿里巴巴Java开发手册上建议HashMap初始化时设置已知的大小,如果不超过16个,那么设置成默认大小16: 集合初始化时, 指定集合初

Java中HashMap的初始容量设置

根据阿里巴巴Java开发手册上建议HashMap初始化时设置已知的大小,如果不超过16个,那么设置成默认大小16:

集合初始化时, 指定集合初始值大小。

说明:

HashMap使用HashMap(int initialCapacity)初始化

正例:

initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即loader factor)默认为0.75, 如果暂时无法确定初始值大小,请设置为16(即默认值)。

反例:

HashMap需要放置1024个元素,由于没有设置容量初始大小,随着元素不断增加,容量7次被迫扩大,resize需要重建hash表,严重影响性能。

而对于为什么负载因子是0.75,答案可以在《数据结构与算法分析 Java语言描述》的散列章节中找到

Java HashMap的指定初始值大小和自动扩容

HashMap指定初始值大小

指定初始值大小应为2的幂。

如果指定的初始值不是2的幂,则HashMap的容量为大于指定初始值的2的幂;如果不指定,容量默认为16。

HashMap自动扩容

当HashMap的键值对个数大于容量的75%时,HashMap的容量扩大一倍。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Java中HashMap的初始容量设置方式

本文链接: https://lsjlt.com/news/128574.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java中HashMap的初始容量设置方式
    Java中HashMap的初始容量设置 根据阿里巴巴Java开发手册上建议HashMap初始化时设置已知的大小,如果不超过16个,那么设置成默认大小16: 集合初始化时, 指定集合初...
    99+
    2024-04-02
  • Java 中HashMap初始化的另一种方式是怎么
    Java 中HashMap初始化的另一种方式是怎么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如果你接触过不同的语言,从语法和代码层面来说,Java 是一种不折不扣的“臃...
    99+
    2023-06-19
  • Java中使用HashMap时指定初始化容量性能解析
    目录正文openjdk17和jmh单线程测试总结正文 一些Java编程老手在做CodeReview时,都会告诉其他人,使用HashMap时建议指定容量大小,原因是指定容量后,代码性...
    99+
    2023-02-05
    Java HashMap容量性能 Java HashMap容量初始化
  • JDK8中的HashMap初始化和扩容机制详解
    一、HashMap初始化方法 HashMap() 不带参数,默认初始化大小为16,加载因子为0.75; HashMap(int initialCapacity) 指定初始化大小; H...
    99+
    2024-04-02
  • java中的数组初始化赋初值方式
    目录java数组初始化赋初值方法一方法二方法三数组互相赋值方式使用for循环使用Object的clone()使用System的静态方法arraycopy()java数组初始化赋初值 ...
    99+
    2024-04-02
  • java中的ArrayList集合的初始化方式
    概述ArrayList是一个以动态数组为基础实现的非线程安全的集合,ArrayList的元素可以为空、可以重复,同时又是有序的(读取和存放的顺序一致 )。ArrayList继承AbstractList,实现了List、RandomAcces...
    99+
    2018-04-25
    java基础 java ArrayList 集合 初始化
  • Java中为什么ArrayList初始化容量大小为10
    目录背景为什么HashMap的初始化容量为16?ArrayList的初始化容量是10吗?为什么ArrayList的初始化容量为10?小结背景 看ArrayList源码时,无意中看到A...
    99+
    2024-04-02
  • Java中的ArrayList容量及扩容方式
    目录查看JDK1.8ArrayList的源代码1、默认初始容量为102、最大容量为Integer.MAX_VALUE-83、扩容方式:JavaArrayList()扩容原理先看下Ar...
    99+
    2024-04-02
  • java变量的初始化方法是什么
    Java变量的初始化方法有以下几种:1. 声明变量时直接赋值:可以在声明变量时直接为其赋初值,例如:```javaint num =...
    99+
    2023-09-15
    java
  • Java中ArrayList初始化容量大小为10的原因是什么
    这篇文章主要讲解了“Java中ArrayList初始化容量大小为10的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中ArrayList初始化容量大小为10的原因是什么”吧...
    99+
    2023-07-02
  • java数组初始化的方式有哪些
    Java数组可以通过以下几种方式进行初始化:1. 静态初始化:在声明数组的同时为数组元素赋初值。```javaint[] arr =...
    99+
    2023-09-09
    java
  • 浅析Linux root设置初始值的方法
    ubuntu默认不允许使用root登录,因mcCLIIUhq此初始root账户是不能使用的,需要在普通账户下利用sudo权限修改root密码。 在终端输入sudo passwd root,按回车,然后系统会提示你输入普通...
    99+
    2022-06-04
    Linux root初始值 Linux root 密码
  • java环境变量的设置方式
    这篇文章主要介绍“java环境变量的设置方式”,在日常操作中,相信很多人在java环境变量的设置方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java环境变量的设置方式”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-03
  • Java中初始化List集合的八种方式汇总
    目录1、常规方式2、Arrays 工具类3、Collections 工具类4、Lists 工具类5、匿名内部类6、ImmutableList7、Java8 Stream8、Java9...
    99+
    2024-04-02
  • C#中的变量初始化形式是什么
    本篇内容主要讲解“C#中的变量初始化形式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#中的变量初始化形式是什么”吧!C# 中的变量初始化变量通过在等号后跟一个常量表达式进行初始化(赋值...
    99+
    2023-06-17
  • java中获取hashmap中的所有key方式
    目录如何获取hashmap中的所有keyHashMap在获得Key的Hash值的时候用的是什么算法JDK hashCode总结如何获取hashmap中的所有key 在 Java 中,...
    99+
    2023-03-22
    java获取hashmap的key java hashmap key 获取hashmap所有key
  • 浅谈java中HashMap键的比较方式
    先看一个例子 Integer integer=12344; Integer integer1=12344; 在Java中Integer 和Integer1是不相等的,但是...
    99+
    2024-04-02
  • java二维数组初始化的方式有哪些
    Java中二维数组的初始化方式有以下几种:1. 静态初始化:直接指定数组元素的值。```javaint[][] arr = {{1,...
    99+
    2023-09-27
    java
  • mac网络初始化设置的方法是什么
    要进行Mac网络初始化设置,可以按照以下步骤进行操作:1. 打开“系统偏好设置”,可以通过点击屏幕左上角的苹果图标,然后选择“系统偏...
    99+
    2023-09-12
    mac
  • java中double初始化的方法是什么
    在Java中,可以使用以下方法来初始化一个double变量: 1、直接赋值: double num = 10.5; 2、使用构造器...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作