我有一個基於番石榴庫的Range<Date>
列表,它們從不重疊。從範圍列表中提取差距<Date>
2001-01-10
&rightarrow;2001-01-15
2001-01-20
&rightarrow;2001-01-22
2001-01-28
&rightarrow;2001-01-29
然後,我有一個參考範圍:
2001-01-01
&RIGHTARROW;2001-01-31
我想找到所有的獨家清單和參考範圍之間的差距:
2001-01-01
&RIGHTARROW;2001-01-10
2001-01-15
&rightarrow;2001-01-20
2001-01-22
&rightarrow;2001-01-28
2001-01-29
&rightarrow;2001-01-31
在這個例子中,Date對象是簡單的,但在現實中,他們可能會在格式上取決於其ChronoUnit變化。
有沒有正確的方法來得到這個結果沒有太多的編碼?
可以在列表中的重疊範圍? – azurefrog
不,我在添加它們時合併它們,所以輸入列表是乾淨的。 –
僅供參考:Guava的TreeRangeSet可以爲您合併/合併它們。有關詳細信息,請參閱https://github.com/google/guava/wiki/NewCollectionTypesExplained#rangeset。 – mfulton26