我们知道hashmap有默认的加载因子0.75,如果我想改变它怎么做。
是否有任何方法可以设置和使用加载工厂。我有100k记录,我不想一次又一次地重复,我想改变负载因子,以便它可以有效地工作而不需要重复。
答案 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。