在 Java 中的区间数据上实现频率 table 的有效方法

Efficient way to implement frequency table on interval data in Java

我正在尝试创建频率 table 以最终创建直方图。输入数据的类型是Double,应该都在区间[-1;1]内。我想将此间隔划分为宽度为例如.02 并计算每个区间内出现的值,不需要存储数据。

我尝试使用 Apache Commons Frequency,但这似乎只适用于离散值。

是否有实现此功能的库?

虽然我一直没能找到满足我要求的库,但这是我想出的解决方案,以防将来有人发现它:

我创建了一个表示间隔的数据类型,类似于我在 Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne 中找到的间隔。

实际频率 table 实现为 TreeMap<Interval, Integer>,因为它能够按键的顺序存储条目(Interval 实现需要 Comparator 为了这个工作)。然后我需要添加的只是添加观察值的方法,它会增加 TreeMap.

中的间隔值

可能不是解决此问题的最有效方法,但它似乎适合我的目的。