Java中的Hashtable是一個線程安全的哈希表,用于存儲鍵值對。當我們創建一個Hashtable時,可以指定其初始容量和負載因子。
容量(Capacity):Hashtable的容量是指哈希表中桶的數量。桶是哈希表中用于存儲鍵值對的基本單位。容量越大,表示哈希表可以存儲更多的元素,但同時也會增加內存消耗。默認情況下,Hashtable的初始容量為11。
負載因子(Load Factor):負載因子是指哈希表中已存儲的元素數量與桶的數量之比。當負載因子超過一定閾值時,Hashtable會自動擴容,以保證其性能。負載因子的默認值為0.75。
在創建Hashtable時,可以通過構造函數來指定初始容量和負載因子:
// 指定初始容量為20,負載因子為0.8
Hashtable<String, String> hashtable = new Hashtable<>(20, 0.8f);
需要注意的是,負載因子的值應該是一個小于1的正數,否則會導致哈希表無法正常工作。同時,負載因子越大,哈希表在擴容時就越晚,但同時也會導致內存浪費增加。因此,合理地選擇負載因子對于優化Hashtable的性能非常重要。