繁体   English   中英

如何更改哈希图加载因子

[英]how to change the hashmap load factor

我们知道hashmap的默认加载因子为0.75,如果要更改它,该怎么做。

有什么方法可以设置和使用负载工厂。 我有10万条记录,我不想一次又一次地哈希,我想更改负载系数,以便它可以有效地工作而无需哈希。

您无法在创建地图后更改它,您最多可以使用为此定义的构造函数

文档所述:

public HashMap(int initialCapacity, float loadFactor)

构造一个具有指定初始容量和负载因子的空HashMap。

 Map<String, String> x = new HashMap<>(10, 0.85f);

以下是3个有用的构造函数来帮助您。 明智地使用它:)。 更多信息在这里

HashMap()

使用默认的初始容量(16)和默认的加载因子(0.75)构造一个空的HashMap。


HashMap(int initialCapacity)

构造一个具有指定初始容量和默认负载因子(0.75)的空HashMap。


HashMap(int initialCapacity, float loadFactor)

构造一个具有指定初始容量和负载因子的空HashMap。

正如@Xoce所述,您以后不能更改loadFactor,对此我同意他的观点。 在创建哈希图时使用它。

@NPE在这里提供了有关负载系数重要性的详细信息

这是在构建地图时完成的。 您可以设置负载系数和初始容量。 初始容量是用于散列的存储桶的初始数量,而负载因子是在调整大小和自动递增之前允许的最大条目百分比。 您可以将值设置为float。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM