在Scala中指定HashMap的大小
发布时间:2020-12-16 08:58:49 所属栏目:安全 来源:网络整理
导读:我正在使用 Scala的可变HashMap逐步增加数百万个键值对.调整这些HashMaps的大小现在是我程序中最慢的部分.我如何告诉Scala从一开始就创建一个非常大的HashMap,以便它(几乎)永远不需要调整大小? 我也很感激提出另一个符合我需求的Scala / Java集合的想法.添
我正在使用
Scala的可变HashMap逐步增加数百万个键值对.调整这些HashMaps的大小现在是我程序中最慢的部分.我如何告诉Scala从一开始就创建一个非常大的HashMap,以便它(几乎)永远不需要调整大小?
我也很感激提出另一个符合我需求的Scala / Java集合的想法.添加新的键值对并检索给定键的值应该在大致恒定的时间内都可行. 解决方法
一种可能的方式:
import scala.collection.mutable.{HashTable,DefaultEntry} trait BigHashTable[A,B] extends HashTable[A,DefaultEntry[A,B]] { override def initialSize: Int = 1024 // 16 - by default } val x = new HashMap[Int,String] with BigHashTable[Int,String] 另一个: class MyHashMap[A,B](initSize : Int) extends HashMap[A,B] { override def initialSize: Int = initSize // 16 - by default } val x = new MyHashMap[Int,String](1024) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |