JDK1.7????????????HashMap
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK1.7????????????HashMap相关的知识,希望对你有一定的参考价值。
?????????hashmap
??????????????????JDK1.7
HashMap?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????put???get???remove?????????????????????????????????????????????HashMap??????????????????????????????
??????HashMap?????????????????????????????????????????????????????????????????????????????????????????????
???????????????put????????????
?????????????????????????????????????????????????????????????????????
???1???HashMap???key????????????null?????????key???null?????????????????????????????????0?????????
???2???????????????????????????key??????????????????????????????????????????????????????????????????????????????????????????????????????????????????PS???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????key????????????????????????????????????????????????????????????????????????????????????
???3???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????LRU?????????????????????????????????
(4)????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????next?????????next????????????????????????????????????????????????????????????????????????????????????
????????????get??????
get?????????????????????
???1?????????key?????????????????????????????????????????????????????????????????????????????????????????????key????????????????????????????????????????????????null
?????????remove
??????????????????????????????
???1???????????????????????????????????????????????????key???????????????????????????????????????????????????????????????????????????????????????????????????NULL???????????????????????????next?????????????????????
HashMap?????????????????????????????????????????????????????????????????????
???1?????????????????????????????????
????????????????????????????????????????????????1??????key=A???value=aaa?????????2??????key=B???value=bbb???
??????i=1???????????????1???????????????table[1]=new Entry<>(1234, "A", "aaa", null);
????????????2???????????????table[1]=new Entry<>(1234, "B", "bbb", null);
??????????????????1?????????????????????????????????????????????????????????
???2???put?????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????
?????????????????????A???B?????????????????????A.next=B???B.next=null
??????????????????????????????
??????????????????????????????-1?????????-2????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????-1?????????A???????????????????????????B????????????????????????Entry<K,V> next = e.next;??????????????????????????????????????????????????????-2???????????????????????????????????????????????????????????????????????????B.next=A???A.next=null
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-2???????????????????????????-1???????????????????????????????????????????????????-2???????????????????????????A???B???????????????????????????????????????????????????B?????????A????????????????????????-1?????????????????????
??????????????????-1?????????????????????
while(null != e) {
Entry<,> next = e.; (rehash) { e.= == e.? : hash(e.); } i = (e., newCapacity); e.= newTable[i]; newTable[i] = e; e = next; }
???????????????????????????????????????
???????????????????????????????????????????????????????????????B-->A-->NULL
??????????????????e?????????A????????????null != e????????????????????????
????????????????????????
???????????????????????????
??????C???????????????C?????????A???B????????????????????????????????????????????????
???????????????A??????B?????????B?????????A?????????A?????????B?????????B?????????A?????????????????????????????????null????????????
??????????????????
??????????????????????????????hash?????????????????????????????????????????????????????????????????????
?????????
http://blog.csdn.net/zhuqiuhui/article/details/51849692
https://www.cnblogs.com/binyue/p/3726403.html
???????????? ?????????????????? ?????????????????????????????????http://5880861.blog.51cto.com/5870861/1984059
以上是关于JDK1.7????????????HashMap的主要内容,如果未能解决你的问题,请参考以下文章