在条目数量很少的情况下,比如小于32,在数组中进行底层存储,如[key0,val0,key1,val1,...]。这种存储方案避免了许多小型Entry对象,并且由于CPU缓存不会失效和指针不会间接进入堆,因此提供了极快的查找速度(即使它们是顺序扫描!)。
该映射应维护键/值对的插入顺序,而与条目数量无关,类似于LinkedHashMap
我们正在Scala中处理巨大的(数百万个节点/边缘)图形的内存表示,并且拥有这样的Map将允许我们以更高效的方式存储节点/边缘属性以及每个节点的边缘,适用于99%以上仅具有少量属性或邻居的节点和边缘,同时保留属性和边缘的时间顺序。
如果有人知道带有这些特性的Scala或Java映射,我将不胜感激。
谢谢