(大约有时效性的稀疏矩阵,但我正在寻找存储效率的一些问题。)
我需要的等效List<T>
或Map<Integer,T>
其中
- 只是通过设置比以前也遇到过大的关键需求能够增长。 (可以假设键是负数。)
- 大约是内存效率作为
ArrayList<T>
中,大部分的指数是并非如此null
,即,当实际数据不是很稀疏。 - 当指数是稀疏,占用的空间比例,以非数量
null
指数。 - 使用比存储器更少
HashMap<Integer,T>
因为这autoboxes键和可能不充分利用标量密钥类型)。 - 可以获取或设置在摊销日志(N)的时间的元素,其中N是条目的数量:不必是线性时,二分搜索将是可接受的。
- 实现在一个非病毒开源纯Java库(优选Maven中中部)。
有谁知道这样一个工具类的?
我本来期望Commons Collections中有一个,但它似乎没有。
我碰到org.apache.commons.math.util.OpenIntToFieldHashMap
看起来差不多吧,除了值类型是FieldElement
这似乎无偿的; 我只是想T extends Object
。 它看起来会很容易地修改它的源代码,以便更为通用,但我宁愿使用二进制的依赖(如果可用)。