av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

java - HashMap中對于indexFor(int h, int length)的疑惑

瀏覽:115日期:2023-12-15 16:22:30

問題描述

static int indexFor(int h, int length) {// assert Integer.bitCount(length) == 1 : 'length must be a non-zero power of 2';return h & (length-1); }

HashMap中會對key的hash值與Entry[]數(shù)組大小進(jìn)行再hash求取Entry數(shù)組的下標(biāo)位置,我剛才調(diào)試時(shí)發(fā)現(xiàn),2個(gè)不同key(hash值也不同),但經(jīng)過indexFor得到的index下標(biāo)是一樣的,也就是說2個(gè)不同key值、不同hash值的數(shù)值串在一起形成了鏈表,我記得以前看別人寫的文章,都是說hash值相同,但key值不同的2個(gè)值才會形成鏈表,但實(shí)際自己調(diào)試卻發(fā)現(xiàn)不一樣的結(jié)果,請大神們看看問題所在

問題解答

回答1:

Object (key) -> hashCode -> index

不同的Object可能有相同的hashCode(反過來一定不同,除非hashCode或equals定義錯(cuò)了);不同的hashCode可能有相同的index(反過來一定不同),這時(shí)才會形成鏈表。

這里的hashCode可能跟你看到的某些文章的hash不是一個(gè)意思吧。

標(biāo)簽: java
主站蜘蛛池模板: 国产在线观看网站 | 久久一区二区三区免费 | 日批av| 日一区二区 | 久久久久中文字幕 | 国产免费自拍 | 91精品国产高清一区二区三区 | 久久国产精品99久久久久久丝袜 | 中文精品视频 | 成人网av | 欧美综合在线视频 | a国产视频 | 欧洲亚洲一区二区三区 | 亚洲高清一区二区三区 | 婷婷国产一区二区三区 | 久久99精品国产 | 伊人久久综合 | 日韩国产精品一区二区三区 | 亚洲精品一区二区三区 | 99久久久久久 | 男插女下体视频 | 黄色骚片 | 精品av | 国产一级电影在线观看 | 国产夜恋视频在线观看 | 亚洲在线久久 | 精品一区二区久久久久久久网站 | 男人的天堂中文字幕 | 九九久久久| 久产久精国产品 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 久久成人国产 | 日韩中文字幕在线视频 | 国产第一页在线观看 | 一区中文 | 日韩精品一区二区三区 | av午夜激情 | 色频| 亚洲精品一区二区在线观看 | 日韩久久久久久 | 欧美中文字幕一区二区三区亚洲 |