課程
/后端開(kāi)發(fā)
/Java
/Java入門第三季
我嘗試了4次,每次打印結(jié)果都是按照 輸入的 倒敘 打印出來(lái)。打印不是無(wú)序的嗎?還是因?yàn)閒or遍歷keyset取得的鍵 是有序的?
2018-03-29
源自:Java入門第三季 5-2
正在回答
? 不是因?yàn)閒or的原因,你用iterator遍歷也是一樣的結(jié)果。
? 首先你要知道Java中無(wú)序(unordered),有序(ordered)是什么意思,它們跟我們我們所理解的可能不太一樣.
? 在Java中無(wú)序指的是Java語(yǔ)言沒(méi)有規(guī)定某個(gè)容器按什么順序遍歷,在不同的Java虛擬機(jī)上對(duì)某個(gè)容器的實(shí)現(xiàn)是不一樣,比如說(shuō)運(yùn)行在Windows和Linux上的Java虛擬機(jī)對(duì)HashSet的遍歷順序可能不太一樣,但對(duì)同一種虛擬機(jī)來(lái)說(shuō)遍歷輸出都是一樣的。而不是我們?nèi)粘K斫獾?無(wú)序就是亂序"的意思。
? 有序也是一樣的道理,Java規(guī)定了容器的遍歷順序,在不同的Java虛擬機(jī)上要保證遍歷的順序跟加入元素的順序一致。
? 通俗地來(lái)講,在Java中無(wú)序就是不同的Java虛擬機(jī)對(duì)某個(gè)容器有不同的遍歷方法,但對(duì)每一個(gè)具體的虛擬機(jī)它們的遍歷方法是固定的.比如你遇到的情況在Windows上運(yùn)行的Java虛擬機(jī)對(duì)HashSet的遍歷只有一種輸出方式,但你換一個(gè)Java虛擬機(jī)跑一跑你這個(gè)程序可能輸出就不一樣了。
? 不知道你懂了沒(méi),感覺(jué)很通俗了,希望對(duì)你有幫助!
莫失聰聰3779259 提問(wèn)者
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過(guò)的精彩,快來(lái)加入吧
4 回答關(guān)于Map無(wú)序問(wèn)題
1 回答Set有序無(wú)序的問(wèn)題
1 回答關(guān)于set 和map的無(wú)序問(wèn)題
2 回答關(guān)于set無(wú)序的問(wèn)題,求助大佬
2 回答Set無(wú)序問(wèn)題
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中無(wú)序(unordered),有序(ordered)是什么意思,它們跟我們我們所理解的可能不太一樣.
? 在Java中無(wú)序指的是Java語(yǔ)言沒(méi)有規(guī)定某個(gè)容器按什么順序遍歷,在不同的Java虛擬機(jī)上對(duì)某個(gè)容器的實(shí)現(xiàn)是不一樣,比如說(shuō)運(yùn)行在Windows和Linux上的Java虛擬機(jī)對(duì)HashSet的遍歷順序可能不太一樣,但對(duì)同一種虛擬機(jī)來(lái)說(shuō)遍歷輸出都是一樣的。而不是我們?nèi)粘K斫獾?無(wú)序就是亂序"的意思。
? 有序也是一樣的道理,Java規(guī)定了容器的遍歷順序,在不同的Java虛擬機(jī)上要保證遍歷的順序跟加入元素的順序一致。
? 通俗地來(lái)講,在Java中無(wú)序就是不同的Java虛擬機(jī)對(duì)某個(gè)容器有不同的遍歷方法,但對(duì)每一個(gè)具體的虛擬機(jī)它們的遍歷方法是固定的.比如你遇到的情況在Windows上運(yùn)行的Java虛擬機(jī)對(duì)HashSet的遍歷只有一種輸出方式,但你換一個(gè)Java虛擬機(jī)跑一跑你這個(gè)程序可能輸出就不一樣了。
? 不知道你懂了沒(méi),感覺(jué)很通俗了,希望對(duì)你有幫助!