课程名称:Map从入门到性能分析
课程章节:
第3章 HashMap的原理
主讲老师:大谷
课程内容:
HashMap的底层原理以及开发中扩容引起的性能注意点
课程收获:
1. HashMap的原理
(1)、HashMap是无序的,遍历输出的顺序与put存进去的顺序无关。
(2)、关键的两个方法:
final int hash(Object k)
用hashCode()方法将key转换成hash码后并进行优化得到优化后的hash码。
例如:将“yuwen”这个字符串优化后的hash码是115347492
static int indexFor(int h,int length)
对优化后的hash码,进行取址,确定在HashMap的位置
例如:115347492在长度是16的HashMap中,取址的坐标是4
Map map = new HashMap()不带参数的构造方法,默认长度是16,默认的负载因子是0.75
等同于:Map map = new HashMap(16,0.75f)
2、性能:开发中要设计好,扩容消耗性能,尽可能避免扩容。
3、常见方法:
判断是否为空(isEmpty())、删除节点(remove())、清空HashMap对象(clear())
判断是否有某个key(containskey(key))、判断是否有某个value
HashMap替换某个key的value
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦