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 ]