Учебники

Гуава — Range Range

Диапазон представляет интервал или последовательность. Он используется для получения набора чисел / строк, лежащих в определенном диапазоне.

Декларация класса

Ниже приводится объявление для класса com.google.common.collect.Range <C>.

@GwtCompatible
public final class Range<C extends Comparable>
   extends Object
      implements Predicate<C>, Serializable

методы

Sr.No Метод и описание
1

static <C extends Comparable <? >> Range <C> all ()

Возвращает диапазон, который содержит каждое значение типа C.

2

логическое применение (ввод C) Устаревший.

Предоставляется только для удовлетворения интерфейса предиката; используйте вместо этого (C).

3

static <C extends Comparable <? >> Range <C> atLeast (конечная точка C)

Возвращает диапазон, который содержит все значения, большие или равные конечной точке.

4

static <C extends Comparable <? >> Range <C> atMost (конечная точка C)

Возвращает диапазон, который содержит все значения, меньшие или равные конечной точке.

5

Диапазон <C> канонический (домен DiscreteDomain <C>)

Возвращает каноническую форму этого диапазона в заданной области.

6

static <C extends Comparable <? >> Range <C> закрыт (C ниже, C сверху)

Возвращает диапазон, который содержит все значения, большие или равные нижней и меньшие или равные верхней.

7

static <C extends Comparable <? >> Range <C> closedOpen (C ниже, C сверху)

Возвращает диапазон, который содержит все значения, большие или равные нижней и строго меньше верхней.

8

логическое значение содержит (значение C)

Возвращает true, если значение находится в пределах этого диапазона.

9

boolean containsAll (Iterable <? extends C> значения)

Возвращает true, если каждый элемент в значениях содержится в этом диапазоне.

10

static <C extends Comparable <? >> Range <C> downTo (конечная точка C, BoundType boundType)

Возвращает диапазон из заданной конечной точки, который может быть либо включительным (закрытым), либо исключительным (открытым) без верхней границы.

11

static <C extends Comparable <? >> Range <C> encloseAll (Итерируемые значения <C>)

Возвращает минимальный диапазон, который содержит все заданные значения.

12

булево окружение (диапазон <C> прочее)

Возвращает true, если границы другого не выходят за пределы этого диапазона.

13

логическое равенство (объектный объект)

Возвращает true, если объект является диапазоном, имеющим те же конечные точки и связанные типы, что и этот диапазон.

14

static <C extends Comparable <? >> Range <C> большее значение (конечная точка C)

Возвращает диапазон, который содержит все значения, строго превышающие конечную точку.

15

int hashCode ()

Возвращает хеш-код для этого диапазона.

16

логическое hasLowerBound ()

Возвращает true, если этот диапазон имеет более низкую конечную точку.

17

логическое hasUpperBound ()

Возвращает true, если этот диапазон имеет верхнюю конечную точку.

18

Пересечение диапазона <C> (Range <C> connectedRange)

Возвращает максимальный диапазон, заключенный в этот диапазон и connectedRange, если такой диапазон существует.

19

логическое значение isConnected (диапазон <C> другое)

Возвращает true, если существует (возможно, пустой) диапазон, который заключен как в этот диапазон, так и в другой.

20

логическое isEmpty ()

Возвращает true, если этот диапазон имеет форму [v..v) или (v..v].

21

static <C extends Comparable <? >> Range <C> lessThan (конечная точка C)

Возвращает диапазон, который содержит все значения строго меньше, чем конечная точка.

22

BoundType lowerBoundType ()

Возвращает тип нижней границы этого диапазона: BoundType.CLOSED, если диапазон включает нижнюю конечную точку, BoundType.OPEN, если нет.

23

C lowerEndpoint ()

Возвращает нижнюю конечную точку этого диапазона.

24

статический <C расширяет Comparable <? >> Диапазон <C> открыт (C ниже, C сверху)

Возвращает диапазон, который содержит все значения, строго больше нижнего и строго меньше верхнего.

25

static <C extends Comparable <? >> Range <C> openClosed (C ниже, C сверху)

Возвращает диапазон, который содержит все значения, строго больше нижнего и меньше или равные верхнему.

26

static <C extends Comparable <? >> Range <C> range (C lower, BoundType lowerType, C upper, BoundType upperType)

Возвращает диапазон, который содержит любое значение от нижнего к верхнему, где каждая конечная точка может быть либо включающей (закрытой), либо исключительной (открытой).

27

static <C extends Comparable <? >> Range <C> singleton (значение C)

Возвращает диапазон, который содержит только данное значение.

28

Диапазон <C> диапазона (диапазон <C> другой)

Возвращает минимальный диапазон, который охватывает как этот диапазон, так и другой.

29

Строка toString ()

Возвращает строковое представление этого диапазона, например, «[3..5)» (другие примеры перечислены в документации класса).

30

BoundType upperBoundType ()

Возвращает тип верхней границы этого диапазона: BoundType.CLOSED, если диапазон включает свою верхнюю конечную точку, BoundType.OPEN, если нет.

31

C upperEndpoint ()

Возвращает верхнюю конечную точку этого диапазона.

32

static <C extends Comparable <? >> Range <C> upTo (конечная точка C, BoundType boundType)

Возвращает диапазон без нижней границы до заданной конечной точки, который может быть включающим (закрытым) или исключительным (открытым).

static <C extends Comparable <? >> Range <C> all ()

Возвращает диапазон, который содержит каждое значение типа C.

логическое применение (ввод C) Устаревший.

Предоставляется только для удовлетворения интерфейса предиката; используйте вместо этого (C).

static <C extends Comparable <? >> Range <C> atLeast (конечная точка C)

Возвращает диапазон, который содержит все значения, большие или равные конечной точке.

static <C extends Comparable <? >> Range <C> atMost (конечная точка C)

Возвращает диапазон, который содержит все значения, меньшие или равные конечной точке.

Диапазон <C> канонический (домен DiscreteDomain <C>)

Возвращает каноническую форму этого диапазона в заданной области.

static <C extends Comparable <? >> Range <C> закрыт (C ниже, C сверху)

Возвращает диапазон, который содержит все значения, большие или равные нижней и меньшие или равные верхней.

static <C extends Comparable <? >> Range <C> closedOpen (C ниже, C сверху)

Возвращает диапазон, который содержит все значения, большие или равные нижней и строго меньше верхней.

логическое значение содержит (значение C)

Возвращает true, если значение находится в пределах этого диапазона.

boolean containsAll (Iterable <? extends C> значения)

Возвращает true, если каждый элемент в значениях содержится в этом диапазоне.

static <C extends Comparable <? >> Range <C> downTo (конечная точка C, BoundType boundType)

Возвращает диапазон из заданной конечной точки, который может быть либо включительным (закрытым), либо исключительным (открытым) без верхней границы.

static <C extends Comparable <? >> Range <C> encloseAll (Итерируемые значения <C>)

Возвращает минимальный диапазон, который содержит все заданные значения.

булево окружение (диапазон <C> прочее)

Возвращает true, если границы другого не выходят за пределы этого диапазона.

логическое равенство (объектный объект)

Возвращает true, если объект является диапазоном, имеющим те же конечные точки и связанные типы, что и этот диапазон.

static <C extends Comparable <? >> Range <C> большее значение (конечная точка C)

Возвращает диапазон, который содержит все значения, строго превышающие конечную точку.

int hashCode ()

Возвращает хеш-код для этого диапазона.

логическое hasLowerBound ()

Возвращает true, если этот диапазон имеет более низкую конечную точку.

логическое hasUpperBound ()

Возвращает true, если этот диапазон имеет верхнюю конечную точку.

Пересечение диапазона <C> (Range <C> connectedRange)

Возвращает максимальный диапазон, заключенный в этот диапазон и connectedRange, если такой диапазон существует.

логическое значение isConnected (диапазон <C> другое)

Возвращает true, если существует (возможно, пустой) диапазон, который заключен как в этот диапазон, так и в другой.

логическое isEmpty ()

Возвращает true, если этот диапазон имеет форму [v..v) или (v..v].

static <C extends Comparable <? >> Range <C> lessThan (конечная точка C)

Возвращает диапазон, который содержит все значения строго меньше, чем конечная точка.

BoundType lowerBoundType ()

Возвращает тип нижней границы этого диапазона: BoundType.CLOSED, если диапазон включает нижнюю конечную точку, BoundType.OPEN, если нет.

C lowerEndpoint ()

Возвращает нижнюю конечную точку этого диапазона.

статический <C расширяет Comparable <? >> Диапазон <C> открыт (C ниже, C сверху)

Возвращает диапазон, который содержит все значения, строго больше нижнего и строго меньше верхнего.

static <C extends Comparable <? >> Range <C> openClosed (C ниже, C сверху)

Возвращает диапазон, который содержит все значения, строго больше нижнего и меньше или равные верхнему.

static <C extends Comparable <? >> Range <C> range (C lower, BoundType lowerType, C upper, BoundType upperType)

Возвращает диапазон, который содержит любое значение от нижнего к верхнему, где каждая конечная точка может быть либо включающей (закрытой), либо исключительной (открытой).

static <C extends Comparable <? >> Range <C> singleton (значение C)

Возвращает диапазон, который содержит только данное значение.

Диапазон <C> диапазона (диапазон <C> другой)

Возвращает минимальный диапазон, который охватывает как этот диапазон, так и другой.

Строка toString ()

Возвращает строковое представление этого диапазона, например, «[3..5)» (другие примеры перечислены в документации класса).

BoundType upperBoundType ()

Возвращает тип верхней границы этого диапазона: BoundType.CLOSED, если диапазон включает свою верхнюю конечную точку, BoundType.OPEN, если нет.

C upperEndpoint ()

Возвращает верхнюю конечную точку этого диапазона.

static <C extends Comparable <? >> Range <C> upTo (конечная точка C, BoundType boundType)

Возвращает диапазон без нижней границы до заданной конечной точки, который может быть включающим (закрытым) или исключительным (открытым).

Унаследованные методы

Этот класс наследует методы из следующего класса —

  • java.lang.Object

Пример класса Range

Создайте следующую Java-программу, используя любой редактор по вашему выбору, скажем, 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("]");
   }
}

Проверьте результат

Скомпилируйте класс с помощью компилятора javac следующим образом:

C:\Guava>javac GuavaTester.java

Теперь запустите GuavaTester, чтобы увидеть результат.

C:\Guava>java GuavaTester

Смотрите результат.