課程
/后端開發(fā)
/Java
/Java入門第三季
我嘗試了4次,每次打印結(jié)果都是按照 輸入的 倒敘 打印出來。打印不是無序的嗎?還是因?yàn)閒or遍歷keyset取得的鍵 是有序的?
2018-03-29
源自:Java入門第三季 5-2
正在回答
? 不是因?yàn)閒or的原因,你用iterator遍歷也是一樣的結(jié)果。
? 首先你要知道Java中無序(unordered),有序(ordered)是什么意思,它們跟我們我們所理解的可能不太一樣.
? 在Java中無序指的是Java語(yǔ)言沒有規(guī)定某個(gè)容器按什么順序遍歷,在不同的Java虛擬機(jī)上對(duì)某個(gè)容器的實(shí)現(xiàn)是不一樣,比如說運(yùn)行在Windows和Linux上的Java虛擬機(jī)對(duì)HashSet的遍歷順序可能不太一樣,但對(duì)同一種虛擬機(jī)來說遍歷輸出都是一樣的。而不是我們?nèi)粘K斫獾?無序就是亂序"的意思。
? 有序也是一樣的道理,Java規(guī)定了容器的遍歷順序,在不同的Java虛擬機(jī)上要保證遍歷的順序跟加入元素的順序一致。
? 通俗地來講,在Java中無序就是不同的Java虛擬機(jī)對(duì)某個(gè)容器有不同的遍歷方法,但對(duì)每一個(gè)具體的虛擬機(jī)它們的遍歷方法是固定的.比如你遇到的情況在Windows上運(yùn)行的Java虛擬機(jī)對(duì)HashSet的遍歷只有一種輸出方式,但你換一個(gè)Java虛擬機(jī)跑一跑你這個(gè)程序可能輸出就不一樣了。
? 不知道你懂了沒,感覺很通俗了,希望對(duì)你有幫助!
莫失聰聰3779259 提問者
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧
4 回答關(guān)于Map無序問題
1 回答Set有序無序的問題
1 回答關(guān)于set 和map的無序問題
2 回答關(guān)于set無序的問題,求助大佬
2 回答Set無序問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-03-29
? 不是因?yàn)閒or的原因,你用iterator遍歷也是一樣的結(jié)果。
? 首先你要知道Java中無序(unordered),有序(ordered)是什么意思,它們跟我們我們所理解的可能不太一樣.
? 在Java中無序指的是Java語(yǔ)言沒有規(guī)定某個(gè)容器按什么順序遍歷,在不同的Java虛擬機(jī)上對(duì)某個(gè)容器的實(shí)現(xiàn)是不一樣,比如說運(yùn)行在Windows和Linux上的Java虛擬機(jī)對(duì)HashSet的遍歷順序可能不太一樣,但對(duì)同一種虛擬機(jī)來說遍歷輸出都是一樣的。而不是我們?nèi)粘K斫獾?無序就是亂序"的意思。
? 有序也是一樣的道理,Java規(guī)定了容器的遍歷順序,在不同的Java虛擬機(jī)上要保證遍歷的順序跟加入元素的順序一致。
? 通俗地來講,在Java中無序就是不同的Java虛擬機(jī)對(duì)某個(gè)容器有不同的遍歷方法,但對(duì)每一個(gè)具體的虛擬機(jī)它們的遍歷方法是固定的.比如你遇到的情況在Windows上運(yùn)行的Java虛擬機(jī)對(duì)HashSet的遍歷只有一種輸出方式,但你換一個(gè)Java虛擬機(jī)跑一跑你這個(gè)程序可能輸出就不一樣了。
? 不知道你懂了沒,感覺很通俗了,希望對(duì)你有幫助!