卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java全排列算法 Java遍歷HashSet時(shí),為什么輸出是有序的?

Java遍歷HashSet時(shí),為什么輸出是有序的?首先,上面是hash的類(lèi)描述,表示hash可以是無(wú)序的,也可以是有序的。問(wèn)一下會(huì)是什么樣子,讓我們看看HashSet的源代碼實(shí)現(xiàn)。HashSet的底層

Java遍歷HashSet時(shí),為什么輸出是有序的?

首先,上面是hash的類(lèi)描述,表示hash可以是無(wú)序的,也可以是有序的。問(wèn)一下會(huì)是什么樣子,讓我們看看HashSet的源代碼實(shí)現(xiàn)。

HashSet的底層由具有空鍵的HashMap存儲(chǔ)。

HashMap的數(shù)據(jù)結(jié)構(gòu)是table[entry],這是一個(gè)鏈表結(jié)構(gòu),每個(gè)數(shù)據(jù)元素都是一個(gè)鏈表。具有相同hashcode的不同鍵將落在表[hashcode]的鏈表上。

但是當(dāng)HashMap存儲(chǔ)值時(shí),它將根據(jù)密鑰的hashcode()計(jì)算存儲(chǔ)位置(該位置是散列的,所以它是無(wú)序的);

它感覺(jué)是有序的,因?yàn)閔ashcode()不重復(fù)。樣本太少的原因