我有一个数据集,我需要从任意范围请求键值数据(例如时间序列数据)。我该怎么做才能让它尽快运行?
我正在考虑类似于 Python pandas 进行范围切片的方式。
示例:
数据是键值对:(0, value), (10, value), (20, value), (30, value), (41, value), (51, value), (60, value )...
查询:给我时间范围为 10 到 40 的数据点。
一种可能性是构建间隔树,遍历树以找到匹配的数组位置,然后使用 Arrays.copyOfRange。
最佳答案
在我的脑海中,你可以使用 NavigableMap (JDK中有两种实现),它有一个subMap类似切片的方法。
或者 ArrayList键值对(按键排序)。使用 Collection.binarySearch 查找范围的结尾然后 sublist得到你的切片。
关于java - Java 中数据的快速范围/间隔查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41129928/