Java 用于处理范围列表的库
我必须在Java 8应用程序中处理时间戳列表(Java 用于处理范围列表的库,java,numbers,range,guava,date-range,Java,Numbers,Range,Guava,Date Range,我必须在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] 我试着使用的列表,但将新的时
Long
):
如果用户添加了新范围,则应将其与其他现有范围合并,如以下伪代码所示:
rangeList = [100, 200], [300, 400], [500, 600], [700, 800]
newRangeList = rangeList.add([150, 550])
println(newRangeList) // Expected output: [100, 600], [700, 800]
我试着使用的列表
,但将新的时间戳范围合并在一起会变得异常复杂
使用Java8中的新内容而不是Range类对我没有帮助
我认为an是一个很好的数据结构,可以有效地处理合并,但我发现没有实现此功能的库
是否有一个用于处理数字范围和合并的库?从您想要实现的目标开始,既然您提到使用番石榴的范围,番石榴已经有了您想要的:a 此接口的javadoc指定: […]选择支持添加(范围)操作的实现需要忽略空范围和合并连接的范围 它是一个接口;您可能希望使用一个用于您的目的:
// for whatever type C...
final RangeSet<C> rangeSet = TreeRangeSet.create();
//对于任何类型的C。。。
最终RangeSet RangeSet=TreeRangeSet.create();
从您想要实现的目标,而且既然您提到使用番石榴系列,番石榴已经有了您想要的:a
此接口的javadoc指定:
[…]选择支持添加(范围)操作的实现需要忽略空范围和合并连接的范围
它是一个接口;您可能希望使用一个用于您的目的:
// for whatever type C...
final RangeSet<C> rangeSet = TreeRangeSet.create();
//对于任何类型的C。。。
最终RangeSet RangeSet=TreeRangeSet.create();