Guayaba - Clase de rango
El rango representa un intervalo o una secuencia. Se utiliza para obtener un conjunto de números / cadenas que se encuentran en un rango particular.
Declaración de clase
A continuación se muestra la declaración de com.google.common.collect.Range<C> clase -
@GwtCompatible
public final class Range<C extends Comparable>
extends Object
implements Predicate<C>, Serializable
Métodos
No Señor | Método y descripción |
---|---|
1 | static <C extends Comparable<?>> Range<C> all() Devuelve un rango que contiene todos los valores de tipo C. |
2 | boolean apply(C input)Deprecated. Proporcionado solo para satisfacer la interfaz Predicate; use contiene (C) en su lugar. |
3 | static <C extends Comparable<?>> Range<C> atLeast(C endpoint) Devuelve un rango que contiene todos los valores mayores o iguales que el punto final. |
4 | static <C extends Comparable<?>> Range<C> atMost(C endpoint) Devuelve un rango que contiene todos los valores menores o iguales que el punto final. |
5 | Range<C> canonical(DiscreteDomain<C> domain) Devuelve la forma canónica de este rango en el dominio dado. |
6 | static <C extends Comparable<?>> Range<C> closed(C lower, C upper) Devuelve un rango que contiene todos los valores mayores o iguales a menor y menores o iguales a superior. |
7 | static <C extends Comparable<?>> Range<C> closedOpen(C lower, C upper) Devuelve un rango que contiene todos los valores mayores o iguales que el menor y estrictamente menor que el superior. |
8 | boolean contains(C value) Devuelve verdadero si el valor está dentro de los límites de este rango. |
9 | boolean containsAll(Iterable<? extends C> values) Devuelve verdadero si todos los elementos de los valores están incluidos en este rango. |
10 | static <C extends Comparable<?>> Range<C> downTo(C endpoint, BoundType boundType) Devuelve un rango del punto final dado, que puede ser inclusivo (cerrado) o exclusivo (abierto), sin límite superior. |
11 | static <C extends Comparable<?>> Range<C> encloseAll(Iterable<C> values) Devuelve el rango mínimo que contiene todos los valores dados. |
12 | boolean encloses(Range<C> other) Devuelve verdadero si los límites de otros no se extienden fuera de los límites de este rango. |
13 | boolean equals(Object object) Devuelve verdadero si el objeto es un rango que tiene los mismos puntos finales y tipos de límites que este rango. |
14 | static <C extends Comparable<?>> Range<C> greaterThan(C endpoint) Devuelve un rango que contiene todos los valores estrictamente mayores que el punto final. |
15 | int hashCode() Devuelve un código hash para este rango. |
dieciséis | boolean hasLowerBound() Devuelve verdadero si este rango tiene un punto final más bajo. |
17 | boolean hasUpperBound() Devuelve verdadero si este rango tiene un punto final superior. |
18 | Range<C> intersection(Range<C> connectedRange) Devuelve el rango máximo encerrado tanto por este rango como por connectedRange, si tal rango existe. |
19 | boolean isConnected(Range<C> other) Devuelve verdadero si existe un rango (posiblemente vacío) que está encerrado tanto por este rango como por otros. |
20 | boolean isEmpty() Devuelve verdadero si este rango tiene la forma [v..v) o (v..v]. |
21 | static <C extends Comparable<?>> Range<C> lessThan(C endpoint) Devuelve un rango que contiene todos los valores estrictamente menores que el punto final. |
22 | BoundType lowerBoundType() Devuelve el tipo del límite inferior de este rango: BoundType.CLOSED si el rango incluye su punto final inferior, BoundType.OPEN si no lo hace. |
23 | C lowerEndpoint() Devuelve el punto final inferior de este rango. |
24 | static <C extends Comparable<?>> Range<C> open(C lower, C upper) Devuelve un rango que contiene todos los valores estrictamente mayores que inferiores y estrictamente menores que superiores. |
25 | static <C extends Comparable<?>> Range<C> openClosed(C lower, C upper) Devuelve un rango que contiene todos los valores estrictamente mayores que inferiores y menores o iguales que superiores. |
26 | static <C extends Comparable<?>> Range<C> range(C lower, BoundType lowerType, C upper, BoundType upperType) Devuelve un rango que contiene cualquier valor de menor a mayor, donde cada punto final puede ser inclusivo (cerrado) o exclusivo (abierto). |
27 | static <C extends Comparable<?>> Range<C> singleton(C value) Devuelve un rango que contiene solo el valor dado. |
28 | Range<C> span(Range<C> other) Devuelve el rango mínimo que encierra tanto este rango como otros. |
29 | String toString() Devuelve una representación de cadena de este rango, como "[3..5)" (otros ejemplos se enumeran en la documentación de la clase). |
30 | BoundType upperBoundType() Devuelve el tipo del límite superior de este rango: BoundType.CLOSED si el rango incluye su punto final superior, BoundType.OPEN si no lo hace. |
31 | C upperEndpoint() Devuelve el punto final superior de este rango. |
32 | static <C extends Comparable<?>> Range<C> upTo(C endpoint, BoundType boundType) Devuelve un rango sin límite inferior hasta el punto final dado, que puede ser inclusivo (cerrado) o exclusivo (abierto). |
Métodos heredados
Esta clase hereda métodos de la siguiente clase:
- java.lang.Object
Ejemplo de clase de rango
Cree el siguiente programa java usando cualquier editor de su elección en digamos C:/> Guava.
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<Integer> 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<Integer> range2 = Range.open(0, 9);
System.out.print("(0,9) : ");
printRange(range2);
//create a range (a,b] = { x | a < x <= b}
Range<Integer> range3 = Range.openClosed(0, 9);
System.out.print("(0,9] : ");
printRange(range3);
//create a range [a,b) = { x | a <= x < b}
Range<Integer> range4 = Range.closedOpen(0, 9);
System.out.print("[0,9) : ");
printRange(range4);
//create an open ended range (9, infinity
Range<Integer> 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<Integer> 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<Integer> 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<Integer> range8 = Range.closed(5, 15);
//intersection
printRange(range1.intersection(range8));
//span
printRange(range1.span(range8));
}
private void printRange(Range<Integer> range) {
System.out.print("[ ");
for(int grade : ContiguousSet.create(range, DiscreteDomain.integers())) {
System.out.print(grade +" ");
}
System.out.println("]");
}
}
Verificar el resultado
Compila la clase usando javac compilador de la siguiente manera:
C:\Guava>javac GuavaTester.java
Ahora ejecute GuavaTester para ver el resultado.
C:\Guava>java GuavaTester
Vea el resultado.
[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 ]