我需要合并一些范围。

我发现了番石榴,发现它可以处理某些情况。

RangeSet<Integer> rangeSet = TreeRangeSet.create();
rangeSet.add(Range.closed(1, 10)); // {[1, 10]}
rangeSet.add(Range.closed(8, 15)); // {[1, 15]}

现在,我需要告诉Guava我需要那个[1, 10] + [11, 20] = {[1, 20]}而不是{[1, 10], [11, 20]}

那里有一个选项吗?

最佳答案

如果要合并这样的范围,则需要先对其进行规范化:

rangeSet.add(Range.closed(1, 10).canonical(DiscreteDomain.integers());
// {[1, 11)}
rangeSet.add(Range.closed(11, 20).canonical(DiscreteDomain.integers());
// {[1, 21)}

关于java - 与 Guava 合并范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20664110/

10-09 01:14