Goyave - Classe de gamme
La plage représente un intervalle ou une séquence. Il est utilisé pour obtenir un ensemble de nombres / chaînes se trouvant dans une plage particulière.
Déclaration de classe
Voici la déclaration pour com.google.common.collect.Range<C> classe -
@GwtCompatible
public final class Range<C extends Comparable>
extends Object
implements Predicate<C>, Serializable
Méthodes
Sr.Non | Méthode et description |
---|---|
1 | static <C extends Comparable<?>> Range<C> all() Renvoie une plage qui contient toutes les valeurs de type C. |
2 | boolean apply(C input)Deprecated. Fourni uniquement pour satisfaire l'interface du prédicat; utilisez contient (C) à la place. |
3 | static <C extends Comparable<?>> Range<C> atLeast(C endpoint) Renvoie une plage qui contient toutes les valeurs supérieures ou égales au point de terminaison. |
4 | static <C extends Comparable<?>> Range<C> atMost(C endpoint) Renvoie une plage qui contient toutes les valeurs inférieures ou égales au point de terminaison. |
5 | Range<C> canonical(DiscreteDomain<C> domain) Renvoie la forme canonique de cette plage dans le domaine donné. |
6 | static <C extends Comparable<?>> Range<C> closed(C lower, C upper) Renvoie une plage qui contient toutes les valeurs supérieures ou égales à inférieur et inférieur ou égal à supérieur. |
sept | static <C extends Comparable<?>> Range<C> closedOpen(C lower, C upper) Renvoie une plage qui contient toutes les valeurs supérieures ou égales à inférieure et strictement inférieure à supérieure. |
8 | boolean contains(C value) Renvoie true si la valeur se situe dans les limites de cette plage. |
9 | boolean containsAll(Iterable<? extends C> values) Renvoie true si chaque élément des valeurs est contenu dans cette plage. |
dix | static <C extends Comparable<?>> Range<C> downTo(C endpoint, BoundType boundType) Renvoie une plage à partir du point de terminaison donné, qui peut être inclusive (fermée) ou exclusive (ouverte), sans limite supérieure. |
11 | static <C extends Comparable<?>> Range<C> encloseAll(Iterable<C> values) Renvoie la plage minimale qui contient toutes les valeurs données. |
12 | boolean encloses(Range<C> other) Renvoie true si les limites des autres ne s'étendent pas en dehors des limites de cette plage. |
13 | boolean equals(Object object) Renvoie true si l'objet est une plage ayant les mêmes points de terminaison et types liés que cette plage. |
14 | static <C extends Comparable<?>> Range<C> greaterThan(C endpoint) Renvoie une plage qui contient toutes les valeurs strictement supérieures au point de terminaison. |
15 | int hashCode() Renvoie un code de hachage pour cette plage. |
16 | boolean hasLowerBound() Renvoie true si cette plage a un point de terminaison inférieur. |
17 | boolean hasUpperBound() Renvoie true si cette plage a un point de terminaison supérieur. |
18 | Range<C> intersection(Range<C> connectedRange) Renvoie la plage maximale comprise à la fois par cette plage et par connectedRange, si une telle plage existe. |
19 | boolean isConnected(Range<C> other) Renvoie true s'il existe une plage (éventuellement vide) qui est entourée à la fois par cette plage et par d'autres. |
20 | boolean isEmpty() Renvoie vrai si cette plage est de la forme [v..v) ou (v..v]. |
21 | static <C extends Comparable<?>> Range<C> lessThan(C endpoint) Renvoie une plage qui contient toutes les valeurs strictement inférieures au point de terminaison. |
22 | BoundType lowerBoundType() Renvoie le type de la limite inférieure de cette plage: BoundType.CLOSED si la plage inclut son point de terminaison inférieur, BoundType.OPEN si ce n'est pas le cas. |
23 | C lowerEndpoint() Renvoie le point de terminaison inférieur de cette plage. |
24 | static <C extends Comparable<?>> Range<C> open(C lower, C upper) Renvoie une plage qui contient toutes les valeurs strictement supérieures à inférieures et strictement inférieures à supérieures. |
25 | static <C extends Comparable<?>> Range<C> openClosed(C lower, C upper) Renvoie une plage qui contient toutes les valeurs strictement supérieures à inférieures et inférieures ou égales à supérieures. |
26 | static <C extends Comparable<?>> Range<C> range(C lower, BoundType lowerType, C upper, BoundType upperType) Renvoie une plage qui contient n'importe quelle valeur de inférieure à supérieure, où chaque point de terminaison peut être inclusif (fermé) ou exclusif (ouvert). |
27 | static <C extends Comparable<?>> Range<C> singleton(C value) Renvoie une plage qui contient uniquement la valeur donnée. |
28 | Range<C> span(Range<C> other) Renvoie la plage minimale qui englobe à la fois cette plage et autre. |
29 | String toString() Renvoie une représentation sous forme de chaîne de cette plage, telle que "[3..5)" (d'autres exemples sont répertoriés dans la documentation de la classe). |
30 | BoundType upperBoundType() Renvoie le type de la limite supérieure de cette plage: BoundType.CLOSED si la plage inclut son extrémité supérieure, BoundType.OPEN si ce n'est pas le cas. |
31 | C upperEndpoint() Renvoie l'extrémité supérieure de cette plage. |
32 | static <C extends Comparable<?>> Range<C> upTo(C endpoint, BoundType boundType) Renvoie une plage sans limite inférieure jusqu'au point de terminaison donné, qui peut être inclusive (fermée) ou exclusive (ouverte). |
Méthodes héritées
Cette classe hérite des méthodes de la classe suivante -
- java.lang.Object
Exemple de classe de plage
Créez le programme Java suivant en utilisant n'importe quel éditeur de votre choix dans say 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("]");
}
}
Vérifiez le résultat
Compilez la classe en utilisant javac compilateur comme suit -
C:\Guava>javac GuavaTester.java
Exécutez maintenant le GuavaTester pour voir le résultat.
C:\Guava>java GuavaTester
Voyez le résultat.
[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 ]