代码如图:
我明明想象着存储不应该是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]"
分享目的
,致敬源,记录这个特性,并希望有不对的地方能得到指正,不断提高自己;