在 Scala 中初始化不可变 HashSet 的初始容量和加载因子
Initializing initial capacity and load factor of immutable HashSet in Scala
在Scala中初始化HashSet的初始容量和加载因子有没有简单的方法?在Java中很容易,例如:
public HashSet set = new HashSet(1 << 8, 0.6f)
我想知道,在 Scala 中是否有与此等效的东西。
我也知道使用 Javas HashSet 很容易,只需导入 java.util.HashSet,但我很好奇 scala.collection.immutable.HashSet
是否也可以
编辑。
我检查了 Scala API 和 HashSet 源代码,但没有发现任何有用的东西。
Hashsets 在 Scala 中有两个缺陷。
mutable.HashSet
很像 java HashSet
并且它有
sizeHint
method which could be used on any (e.g. empty) 集合以调整当前大小 table。
immutable.HashSet
has different approach. It is implemented via hash trie algorithm instead of hash table 所以正如 JimH 提到的 sizeHint
这样的方法对它来说毫无意义。
在Scala中初始化HashSet的初始容量和加载因子有没有简单的方法?在Java中很容易,例如:
public HashSet set = new HashSet(1 << 8, 0.6f)
我想知道,在 Scala 中是否有与此等效的东西。
我也知道使用 Javas HashSet 很容易,只需导入 java.util.HashSet,但我很好奇 scala.collection.immutable.HashSet
是否也可以编辑。 我检查了 Scala API 和 HashSet 源代码,但没有发现任何有用的东西。
Hashsets 在 Scala 中有两个缺陷。
mutable.HashSet
很像 java HashSet
并且它有
sizeHint
method which could be used on any (e.g. empty) 集合以调整当前大小 table。
immutable.HashSet
has different approach. It is implemented via hash trie algorithm instead of hash table 所以正如 JimH 提到的 sizeHint
这样的方法对它来说毫无意义。