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