亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第11天 Map基礎學習

標簽:
Java

课程名称:Map从入门到性能分析

课程章节:

第3章 HashMap的原理

主讲老师:大谷

课程内容:

   HashMap的底层原理以及开发中扩容引起的性能注意点

课程收获:

1. HashMap的原理

https://img1.sycdn.imooc.com//632290330001634115690846.jpg

(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)

https://img1.sycdn.imooc.com//6322904c0001859415860857.jpg

https://img1.sycdn.imooc.com//632290b400011f5615740875.jpg


2、性能:开发中要设计好,扩容消耗性能,尽可能避免扩容。



3、常见方法:

判断是否为空(isEmpty())、删除节点(remove())、清空HashMap对象(clear())

判断是否有某个key(containskey(key))、判断是否有某个value

HashMap替换某个key的value


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消