【发布时间】:2023-03-21 17:08:01
【问题描述】:
我必须在 Java 8 应用程序中处理时间戳列表 (Long):
如果用户添加了一个新范围,它应该与其他现有范围合并在一起,就像下面的伪代码:
rangeList = [100, 200], [300, 400], [500, 600], [700, 800]
newRangeList = rangeList.add([150, 550])
println(newRangeList) // Expected output: [100, 600], [700, 800]
我尝试使用Google Guava Range class 中的List,但是将新的时间戳范围合并在一起变得异常复杂。
使用 Java 8 中的新 LongStream 而不是 Range 类对我没有帮助。
我认为Interval Tree 将是一个很好的数据结构来处理高效的合并,但我发现没有实现这一点的库。
是否有用于处理数值范围和合并的库?
【问题讨论】:
标签: java numbers range guava date-range