第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

不是說無序么,我試了好幾遍還是2、1、4

添加Set之前代碼運(yùn)行正常,結(jié)果也正常。添加set之后,沒有報(bào)錯(cuò),但我選擇課程2、1、4,輸出的還是2、1、4,順序沒有變啊 ? 不知道為什么

正在回答

4 回答

找到原因了,

DK8版java.util.HashMap內(nèi)的hash算法比JDK7版的混淆程度低;在[0, 2^32-1]范圍內(nèi)經(jīng)過HashMap.hash()之后還是得到自己。題主的例子正好落入這個(gè)范圍內(nèi)。外加load factor正好在此例中讓這個(gè)HashMap沒有hash沖突,這就導(dǎo)致例中元素正好按大小順序插入在HashMap的開放式哈希表里。

作者:RednaxelaFX
鏈接:https://www.zhihu.com/question/28414001/answer/40733996
來源:知乎
著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)。


1 回復(fù) 有任何疑惑可以回復(fù)我~
for(int?i=0;i<6;i++){
??System.out.print("請輸入要的課程編號:");
??String?courseID=sc.next();
??for?(Course?temp?:?st.courseTo)?{
??????if(temp.id.equals(courseID)){
???????????st1.course.add(temp);
???????}
???}
}

你將輸入課程ID部分代碼中的循環(huán)次數(shù)增加一點(diǎn),不要只限定輸入三次,就看出效果了

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕函數(shù)4910142

次數(shù)多了雖然第一次不一樣,當(dāng)你重新運(yùn)行時(shí)還是和你第一次順序一致
2016-11-24 回復(fù) 有任何疑惑可以回復(fù)我~

我百度了下,貌似JDK8(不知道從JDK幾開始,我是JDK8)的HashSet、HashMap實(shí)現(xiàn)變了。元素插入的的時(shí)候,hash表是用算法把不同的數(shù)據(jù)按照規(guī)則放在響應(yīng)的地址里,所以根據(jù)hash表的遍歷去找的話,無論怎么放,位置是一定的,并且遍歷的方式也是一定的。

題主可以換成老版本的JDK試試,再看看效果

5 回復(fù) 有任何疑惑可以回復(fù)我~

我的也是這個(gè)情況,沒有無序的效果,懷疑是Java8改進(jìn)的地方吧

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

邇丶眼眸里 提問者

這個(gè)程序,還有5-2的MapTest程序都不是亂序輸出,郁悶
2016-04-05 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

不是說無序么,我試了好幾遍還是2、1、4

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號