向类似java的ArrayList插入值
我有一组范围,表示我拥有的值。向类似java的ArrayList插入值,java,arrays,sorting,insert,range,Java,Arrays,Sorting,Insert,Range,我有一组范围,表示我拥有的值。 添加新范围时,可能会删除范围之间的间隔 示例: 我有范围[10,50],[70100],[150200],其中数据保存在两个列表中: 开始列表(10,70,150)和结束列表(50,100,200) 以下是我可能从预期输出中获得的4种不同的可能输入: [20170]结果应该是[10200],因为已经添加了所有间隔 [5170]结果应该是[5200],因为所有间隔都已添加 [20220]结果应该是[10220],因为所有间隔都已添加 [1120]结果应该是[1120
添加新范围时,可能会删除范围之间的间隔 示例:
我有范围
[10,50]
,[70100]
,[150200]
,其中数据保存在两个列表中:开始列表
(10,70,150)和结束列表
(50,100,200)
以下是我可能从预期输出中获得的4种不同的可能输入:
[20170]
结果应该是[10200]
,因为已经添加了所有间隔李>
[5170]
结果应该是[5200]
,因为所有间隔都已添加李>
[20220]
结果应该是[10220]
,因为所有间隔都已添加李>
[1120]
结果应该是[1120]
,[150200]
,因为已经添加了一些间隔李>
然而,我似乎无法让这种方法发挥作用。有人能帮我解决这个问题吗?我不能使条件正确。你可以用番石榴来解决这个问题
RangeSet<Integer> r = TreeRangeSet.create();
r.add(Range.closed(10, 50));
r.add(Range.closed(70, 100));
r.add(Range.closed(150, 200));
// adds
r.add(Range.closed(20, 170));
// r.add(Range.closed(5, 170));
// r.add(Range.closed(20, 220));
// r.add(Range.closed(1, 120));
System.out.println(r);
RangeSet r=TreeRangeSet.create();
r、 增加(范围。关闭(10,50));
r、 增加(关闭范围(70100));
r、 增加(关闭范围(150200));
//加上
r、 添加(范围关闭(20170));
//r.add(范围闭合(5170));
//r.add(范围闭合(20220));
//r.add(范围闭合(1120));
系统输出println(r);
您能分享代码吗?同意@Mick助记符。请分享代码,以便我们提供帮助