guava(四)區間Ranges

1、構建區間html

(a..b) open(C, C)
[a..b] closed(C, C)
[a..b) closedOpen(C, C)
(a..b] openClosed(C, C)
(a..+∞) greaterThan(C)
[a..+∞) atLeast(C)
(-∞..b) lessThan(C)
(-∞..b] atMost(C)
(-∞..+∞) all()
有界區間 range(C, BoundType, C,   BoundType)
無上界區間:((a..+∞) 或[a..+∞)) downTo(C, BoundType)
無下界區間:((-∞..b) 或(-∞..b]) upTo(C, BoundType)

2、區間運算java

containsgit

Range.closed(1,10).contains(8) //true

3、查詢運算less

一、isEmpty() 是否爲空區間google

Range.closed(10,10).isEmpty() //true

 二、hasLowerBound 是否含有下限spa

Range.closed(10,10).hasLowerBound() //true

 三、hasUpperBound 是否含有上限code

Range.greaterThan(10).hasUpperBound() //false

 四、lowerBoundType 下邊界類型,若是區間沒有對應的邊界,拋出IllegalStateExceptionhtm

Range.greaterThan(10).lowerBoundType() //OPEN

 五、upperBoundType 上邊界類型,若是區間沒有對應的邊界,拋出IllegalStateExceptionblog

Range.closed(2,10).upperBoundType() //CLOSED

六、 lowerEndpoint 下限值,若是區間沒有對應的邊界,拋出IllegalStateExceptionci

Range.closed(2,10).lowerEndpoint() //2

 七、upperEndpoint 上限值,若是區間沒有對應的邊界,拋出IllegalStateException

Range.closed(2,10).upperEndpoint() //上限值

 4、關係運算

一、encloses 是否包含

Range.closed(2,10).encloses(Range.closed(3,3)) //true

 二、isConnected 是否相連

Range.closed(2,10).isConnected(Range.closed(12,30))//false

 三、intersection 交集 ,當且僅當兩個區間是相連的,它們纔有交集。若是兩個區間沒有交集,該方法將拋出IllegalArgumentException

Range.closed(2,10).intersection(Range.closed(8,13)) //[8,10]

 四、span 並集

Range.closed(2,8).span(Range.closed(12,13))//[2,13]
相關文章
相關標籤/搜索