Range的用法
pom.xml
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
开闭区间
开区间
该数集用符号(a,b)表示 a和实数b之间的所有实数
闭区间
闭区间指的是区间边界的两个值包括在内。[a,b]
Range语法的使用
Range<Integer> a1 = Range.closed(0,1);
System.out.println(a1);//[0‥1]
Range<Integer> a2 = Range.open(0,1);
System.out.println(a2);//(0‥1)
Range<Integer> a3 = Range.openClosed(0,1);
System.out.println(a3);//(0‥1]
Range<Integer> a4 = Range.closedOpen(0,1);
System.out.println(a4);//[0‥1)
Range<Integer> a5 = Range.atLeast(0);
System.out.println(a5);//[0‥+∞)
Range<Integer> a6 = Range.greaterThan(0);
System.out.println(a6);//(0‥+∞)
Range<Integer> a7 = Range.atMost(0);
System.out.println(a7);//(-∞‥0]
Range<Integer> a8 = Range.lessThan(0);
System.out.println(a8);//(-∞‥0)
场景
判断给定值是否在范围中
import com.google.common.collect.Range;
import com.google.common.collect.RangeMap;
import com.google.common.collect.TreeRangeMap;
public class RangeMain {
public static void main(String[] args) {
RangeMap<Integer, String> level = TreeRangeMap.create();
level.put(Range.closed(90,100), "A");
level.put(Range.closedOpen(80,90), "B");
level.put(Range.lessThan(80), "C");
System.out.println(level.get(95));//A
System.out.println(level.get(85));//B
System.out.println(level.get(75));//C
}
}