Java遍歷HashSet時?
首先上面是hash的類說明,說明hash可能是無序也可能是有序。問什么會這樣讓我們看下hashset的源碼實現。
hashset 底層是通過key為null的hashmap 存儲的。
HashMap的數據結構是table[entry],entry是一個鏈表結構,數據的每個元素是一個鏈表。不同key,但是具有相同hashcode會落在table[hashcode]的鏈表上。
但是HashMap存值的時候會根據key的hashCode()來計算存儲的位置(位置是散列的,所以說其無序);
感覺有序是因為hashcode()直沒有重復。樣本太少原因
下一篇會不會影響到主機的安全