需要一个优化的 Map(k,v) 例如(long, long[]), 避免自动装箱

问题描述

我有一段代码,基本上如下:

long[]   ids;
long[][] values;

这些值是轮流填写的,即 if ids = ['id1','id2',...] 值可能是
values = [['id2val1','id2val2',..]['id1val1',...],..]
无法避免失序执行,我正在考虑的方法是使用 Map Map<Long,Long[]>,
但由于 java 的自动装箱,无法使用 JAVA 泛型。

我想知道是否可以通过一些使用原语的优化数据结构库来完成,
为了避免不必要的自动装箱,我正在寻找像 KolobokeFastutil 这样的库。
求数据结构推荐

解决方法

虽然您必须使用装箱的 Long 作为映射键,但您不需要将值数组中的原语装箱。您可以使用 Map<Long,long[]> 而不是 Map<Long,Long[]>。这应该可以缓解您对性能的大部分担忧。

因此,在您开始引入第三方库之前,先看看简单的 HashMap<Long,long[]> 是否足以满足您的目的。