成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

自己實(shí)現(xiàn)hashmap HashMap的內(nèi)部實(shí)現(xiàn)機(jī)制,Hash是怎樣實(shí)現(xiàn)的,什么時(shí)候ReHash?

HashMap的內(nèi)部實(shí)現(xiàn)機(jī)制,Hash是怎樣實(shí)現(xiàn)的,什么時(shí)候ReHash?此實(shí)現(xiàn)假定哈希函數(shù)在bucket之間正確地分配元素,這可以為基本操作(get和put)提供穩(wěn)定的性能。迭代集合視圖所需的時(shí)間與

HashMap的內(nèi)部實(shí)現(xiàn)機(jī)制,Hash是怎樣實(shí)現(xiàn)的,什么時(shí)候ReHash?

此實(shí)現(xiàn)假定哈希函數(shù)在bucket之間正確地分配元素,這可以為基本操作(get和put)提供穩(wěn)定的性能。迭代集合視圖所需的時(shí)間與HashMap實(shí)例的“容量”(bucket數(shù))及其大?。ㄦI值映射數(shù))成比例。因此,如果迭代性能很重要,不要將初始容量設(shè)置得太高(或負(fù)載系數(shù)太低)。

HashMap實(shí)例有兩個(gè)影響其性能的參數(shù):初始容量和加載因子。容量是哈希表中的存儲(chǔ)桶數(shù),初始容量只是創(chuàng)建哈希表時(shí)的容量。負(fù)載因子是哈希表在容量自動(dòng)增加之前的滿(mǎn)度。當(dāng)哈希表中的條目數(shù)超過(guò)加載因子和當(dāng)前容量的乘積時(shí),哈希表將被重新哈希(即,重建內(nèi)部數(shù)據(jù)結(jié)構(gòu)),這樣哈希表將具有大約兩倍的bucket數(shù)。

如何讓HashMap變成線(xiàn)程安全的?

有兩種方法可以使HashMap線(xiàn)程安全,如下所示:方法1:通過(guò)集合.synchronizedMap()返回線(xiàn)程安全的新映射。這要求我們習(xí)慣于基于接口的編程,因?yàn)槲覀兎祷氐牟皇荋ashMap,而是map實(shí)現(xiàn)。方法2:重寫(xiě)HashMap,可以看到細(xì)節(jié)java.util.concurrent文件. 并發(fā)哈希映射。這種方法比方法一好得多。