在初始化HashMap時(shí),可以通過構(gòu)造函數(shù)指定初始容量和負(fù)載因子。初始容量表示HashMap內(nèi)部數(shù)組的大小,負(fù)載因子表示HashMap在達(dá)到多少比例的填充程度時(shí)會(huì)進(jìn)行擴(kuò)容操作。
HashMap<Integer, String> hashMap = new HashMap<>(16, 0.75f);
在初始化HashSet時(shí),只能通過構(gòu)造函數(shù)指定初始容量,因?yàn)镠ashSet實(shí)際上是基于HashMap實(shí)現(xiàn)的。同樣可以通過指定初始容量和負(fù)載因子來提高性能。
HashSet<String> hashSet = new HashSet<>(16, 0.75f);
需要根據(jù)具體場(chǎng)景和數(shù)據(jù)量來調(diào)整初始容量和負(fù)載因子,一般情況下,初始容量取2的冪次方,負(fù)載因子取0.75是比較常見的選擇。