關於HashSet的小問題存儲Integer類型時無序的範圍


代碼如圖:

存儲是有序的
我明明想象着存儲不應該是1到30,怎麼是有序的了呢?
百度後專業人士回答引用:https://www.zhihu.com/question/28414001/answer/40733996

但是對說的範圍[0-2^32-1]不太理解

我認爲"1<<16"是右移16位,相當於2^15左右,這不是跟"[ 0-2 ^ 32 - 1]"不一樣了嗎?
自己測試了一下,在[-2^16 到 2^16-1]左右是,成立的,在這個範圍外是不成立的,上圖:

在這裏插入圖片描述
在這裏插入圖片描述

結論:

HashSet存放Integer類型時存儲範圍在[-2^16 - 2^16-1]左右是有序的,在這個範圍外是無序的,而不是"[ 0-2 ^ 32 - 1]"

分享目的

,致敬源,記錄這個特性,並希望有不對的地方能得到指正,不斷提高自己;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章