如何更改hashmap加载因子

时间:2017-09-12 17:21:10

标签: java hashmap load-factor

我们知道hashmap有默认的加载因子0.75,如果我想改变它怎么做。

是否有任何方法可以设置和使用加载工厂。我有100k记录,我不想一次又一次地重复,我想改变负载因子,以便它可以有效地工作而不需要重复。

3 个答案:

答案 0 :(得分:3)

创建地图后你不能改变它,你可以使用为其定义的构造函数

作为doc州:

public HashMap(int initialCapacity, float loadFactor)
  

使用指定的初始容量和加载因子构造一个空的HashMap。

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

答案 1 :(得分:0)

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

HashMap()

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

HashMap(int initialCapacity)

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

HashMap(int initialCapacity, float loadFactor)

使用指定的初始容量和加载因子构造一个空的HashMap。

  

正如@Xoce所提到的,你以后不能改变loadFactor,我同意   他就这个。在创建hashmap时使用它。

@NPE在这里提供了关于significance of loadfactor.

的详细信息

答案 2 :(得分:0)

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