扫码一下
查看教程更方便
range
表示一个区间或一个序列。 它用于获取位于特定范围内的一组数字/字符串。
以下是 com.google.common.collect.range
类的声明
@gwtcompatible
public final class range
extends object
implements predicate, serializable
序号 | 方法 | 说明 |
---|---|---|
1 | static |
返回包含 c 类型的每个值的范围。 |
2 | boolean apply(c input)deprecated. | 仅为满足predicate接口而提供; 使用 contains(c) 代替。 |
3 | static |
返回包含大于或等于端点的所有值的范围。 |
4 | static |
返回包含小于或等于端点的所有值的范围。 |
5 | range |
返回给定域中此范围的规范形式。 |
6 | static |
返回包含所有大于或等于下限且小于或等于上限的值的范围。 |
7 | static |
返回包含所有大于或等于下限且严格小于上限的值的范围。 |
8 | boolean contains(c value) | 如果值在此范围内,则返回 true。 |
9 | boolean containsall(iterable values) | 如果 values 中的每个元素都包含在此范围内,则返回 true。 |
10 | static |
返回给定端点的范围,该范围可以是包含(封闭)或排他(开放),没有上限。 |
11 | static |
返回包含所有给定值的最小范围。 |
12 | boolean encloses(range |
如果 other 的边界未超出此范围的边界,则返回 true。 |
13 | boolean equals(object object) | 如果 object 是一个具有与该范围相同的端点和绑定类型的范围,则返回 true。 |
14 | static |
返回包含严格大于端点的所有值的范围。 |
15 | int hashcode() | 返回此范围的哈希码。 |
16 | boolean haslowerbound() | 如果此范围具有下端点,则返回 true。 |
17 | boolean hasupperbound() | 如果此范围有上限,则返回 true。 |
18 | range |
返回此范围和 connectedrange 包围的最大范围(如果存在这样的范围)。 |
19 | boolean isconnected(range |
如果存在一个(可能为空的)范围且同时被该范围和其他范围包围,则返回 true。 |
20 | boolean isempty() | 如果此范围的形式为 [v..v) 或 (v..v],则返回 true。 |
21 | static |
返回包含严格小于端点的所有值的范围。 |
22 | boundtype lowerboundtype() | 返回此范围下限的类型:如果范围包含其下端点,则返回 boundtype.closed ,如果不包含,则返回 boundtype.open 。 |
23 | c lowerendpoint() | 返回此范围的下端点。 |
24 | static |
返回一个范围,其中包含严格大于下限且严格小于上限的所有值。 |
25 | static |
返回一个范围,其中包含严格大于下限且小于或等于上限的所有值。 |
26 | static |
返回包含从低到高的任何值的范围,其中每个端点可以是包含(封闭)或排他(开放)。 |
27 | static |
返回仅包含给定值的范围。 |
28 | range |
返回包含此范围和其他范围的最小范围。 |
29 | string tostring() | 返回此范围的字符串表示形式,例如“[3..5)”(类文档中列出了其他示例)。 |
30 | boundtype upperboundtype() | 返回此范围上限的类型:如果范围包括其上端点,则返回 boundtype.closed ,否则返回 boundtype.open 。 |
31 | c upperendpoint() | 返回此范围的上限。 |
32 | static |
返回一个到给定端点没有下限的范围,该范围可以是包含(封闭)或排他(开放)。 |
该类继承了以下类的方法 -
在 c:/> guava 中使用我们选择的任何编辑器创建以下 java 程序。
guavatester.java
import com.google.common.collect.contiguousset;
import com.google.common.collect.discretedomain;
import com.google.common.collect.range;
import com.google.common.primitives.ints;
public class guavatester {
public static void main(string args[]) {
guavatester tester = new guavatester();
tester.testrange();
}
private void testrange() {
//create a range [a,b] = { x | a <= x <= b}
range range1 = range.closed(0, 9);
system.out.print("[0,9] : ");
printrange(range1);
system.out.println("5 is present: " range1.contains(5));
system.out.println("(1,2,3) is present: " range1.containsall(ints.aslist(1, 2, 3)));
system.out.println("lower bound: " range1.lowerendpoint());
system.out.println("upper bound: " range1.upperendpoint());
//create a range (a,b) = { x | a < x < b}
range range2 = range.open(0, 9);
system.out.print("(0,9) : ");
printrange(range2);
//create a range (a,b] = { x | a < x <= b}
range range3 = range.openclosed(0, 9);
system.out.print("(0,9] : ");
printrange(range3);
//create a range [a,b) = { x | a <= x < b}
range range4 = range.closedopen(0, 9);
system.out.print("[0,9) : ");
printrange(range4);
//create an open ended range (9, infinity
range range5 = range.greaterthan(9);
system.out.println("(9,infinity) : ");
system.out.println("lower bound: " range5.lowerendpoint());
system.out.println("upper bound present: " range5.hasupperbound());
range range6 = range.closed(3, 5);
printrange(range6);
//check a subrange [3,5] in [0,9]
system.out.println("[0,9] encloses [3,5]:" range1.encloses(range6));
range range7 = range.closed(9, 20);
printrange(range7);
//check ranges to be connected
system.out.println("[0,9] is connected [9,20]:" range1.isconnected(range7));
range range8 = range.closed(5, 15);
//intersection
printrange(range1.intersection(range8));
//span
printrange(range1.span(range8));
}
private void printrange(range range) {
system.out.print("[ ");
for(int grade : contiguousset.create(range, discretedomain.integers())) {
system.out.print(grade " ");
}
system.out.println("]");
}
}
使用 javac 编译器编译类,如下所示
c:\guava>javac guavatester.java
现在运行 guavatester 以查看结果。
c:\guava>java guavatester
结果如下
[0,9] : [ 0 1 2 3 4 5 6 7 8 9 ]
5 is present: true
(1,2,3) is present: true
lower bound: 0
upper bound: 9
(0,9) : [ 1 2 3 4 5 6 7 8 ]
(0,9] : [ 1 2 3 4 5 6 7 8 9 ]
[0,9) : [ 0 1 2 3 4 5 6 7 8 ]
(9,infinity) :
lower bound: 9
upper bound present: false
[ 3 4 5 ]
[0,9] encloses [3,5]:true
[ 9 10 11 12 13 14 15 16 17 18 19 20 ]
[0,9] is connected [9,20]:true
[ 5 6 7 8 9 ]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ]