最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

?為什么在Set集合中,我每次輸入課程序號,每次輸出都一樣。

?為什么在Set集合中,我每次輸入課程序號,每次輸出都一樣。

最終幻想ssd 2016-07-15 15:45:56
為什么在Set集合中,我每次輸入課程序號,每次輸出都一樣,不是說Set集合是無序的嗎,而且輸出結(jié)果還和我輸入順序一樣,求解。
查看完整描述

4 回答

?
看風(fēng)景非凡

TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超11個贊

Set集合的無序指的是它不保存元素的加入順序,例如你往a數(shù)組中存數(shù)據(jù)第一個是1、第二個是2,那么他的位置就是不變的,即a[0]=1,a[1]=2,而Set集合則是你雖然是第一個存進(jìn)來,但你的存儲位置卻不是第一個位置,而是根據(jù)每個對象的哈希碼值用“固定”的算法算出它的存儲索引,這也就是為什么你輸入多次,每次輸出一樣的原因。即不保存加入順序,但你在集合里的存儲順序卻不變。

查看完整回答
2 反對 回復(fù) 2016-07-15
  • 最終幻想ssd
    最終幻想ssd
    但是我這個輸出順序輸入順序一樣,比如我輸入順序1,5,2輸出順序也是1,5,2?
  • qq_呼延_0
    qq_呼延_0
    這個問題解決沒啊,小弟求告知
  • 最終幻想ssd
    最終幻想ssd
    目前理解為什么每次輸出結(jié)果一樣,可以從以下角度理解: 所謂無序(unordered),就是 Java 語言沒有規(guī)定 HashSet 按什么順序遍歷。你應(yīng)該知道,有好多種 Java 虛擬機(jī)。有的運(yùn)行在Windows上,有的運(yùn)行在 Linux上。即使在同一個平臺上,也會有好幾種虛擬機(jī)。每種虛擬機(jī)對 HashSet的實(shí)現(xiàn)都是不一樣的,所以每種虛擬機(jī)對 HashSet 的遍歷順序可能都不太一樣。但對同一種虛擬機(jī)來說,你的遍歷輸出都是一樣的。 Java 是跨派臺的,你寫的程序可能會在不同的平臺上運(yùn)行,這些平臺上的虛擬機(jī)都是不一樣的。如果你選用了 HashSet,就要明白,在不同的平臺上,遍歷順序可能會不一樣。如果你對遍歷順序有要求,就要考慮使用有序的,或排序的容器。 但是,為什么輸出順序和我輸入順序是一樣的,還不是很理解,按照哈希算法的話,應(yīng)該是隨機(jī)分配存儲位置才對,而我這個就是按照輸入順序輸出,要么就有這種說法,這是一種巧合,實(shí)際并不是按照我輸入順序存儲,只是輸出的時候正好是按照我輸入的順序輸出
?
冰山點(diǎn)水

TA貢獻(xiàn)109條經(jīng)驗(yàn) 獲得超149個贊

這里的無序是并不是每次排序都不一樣,而是set集合會按照自己的哈希算法來排序

查看完整回答
反對 回復(fù) 2016-07-15
  • 最終幻想ssd
    最終幻想ssd
    但是在java第三季中,4-11節(jié)老師演示的時候輸入同樣的順序,輸出順序不一樣
?
最終幻想ssd

TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超2個贊

試過了,還是一樣的結(jié)果。


查看完整回答
反對 回復(fù) 2016-07-15
?
KXFT

TA貢獻(xiàn)113條經(jīng)驗(yàn) 獲得超58個贊

你多添加幾個數(shù)據(jù)試試

查看完整回答
反對 回復(fù) 2016-07-15
  • 4 回答
  • 1 關(guān)注
  • 2141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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