我们知道 hashmap 的默认加载因子是 0.75,如果我想改变它怎么做。
有什么方法可以让我们设置和使用加载工厂。我有 100k 条记录,我不想一次又一次地重新散列,我想更改负载因子,以便它可以有效地工作而无需重新散列。
我们知道 hashmap 的默认加载因子是 0.75,如果我想改变它怎么做。
有什么方法可以让我们设置和使用加载工厂。我有 100k 条记录,我不想一次又一次地重新散列,我想更改负载因子,以便它可以有效地工作而无需重新散列。
创建地图后,您无法更改它,您最多可以使用为此定义的构造函数
正如文档所述:
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 在此处提供了有关负载因子重要性的详细信息。
它是在构建地图时完成的。您可以设置负载系数和初始容量。初始容量是散列的初始桶数,负载因子是调整大小和自动增量之前允许的最大条目百分比。您可以将值设置为浮点数。