Ổi - Lớp Tầm

Phạm vi đại diện cho một khoảng hoặc một chuỗi. Nó được sử dụng để lấy một tập hợp các số / chuỗi nằm trong một phạm vi cụ thể.

Khai báo lớp học

Sau đây là khai báo cho com.google.common.collect.Range<C> lớp học -

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

Phương pháp

Sr.No Phương pháp & Mô tả
1

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

Trả về một dải ô chứa mọi giá trị thuộc loại C.

2

boolean apply(C input)Deprecated.

Được cung cấp chỉ để đáp ứng giao diện Predicate; sử dụng chứa (C) để thay thế.

3

static <C extends Comparable<?>> Range<C> atLeast(C endpoint)

Trả về một dải ô chứa tất cả các giá trị lớn hơn hoặc bằng điểm cuối.

4

static <C extends Comparable<?>> Range<C> atMost(C endpoint)

Trả về một dải ô chứa tất cả các giá trị nhỏ hơn hoặc bằng điểm cuối.

5

Range<C> canonical(DiscreteDomain<C> domain)

Trả về dạng chuẩn của phạm vi này trong miền đã cho.

6

static <C extends Comparable<?>> Range<C> closed(C lower, C upper)

Trả về một dải ô chứa tất cả các giá trị lớn hơn hoặc bằng giá trị thấp hơn và nhỏ hơn hoặc bằng giá trị trên.

7

static <C extends Comparable<?>> Range<C> closedOpen(C lower, C upper)

Trả về một dải ô chứa tất cả các giá trị lớn hơn hoặc bằng giá trị thấp hơn và nhỏ hơn giá trị trên.

số 8

boolean contains(C value)

Trả về true nếu giá trị nằm trong giới hạn của phạm vi này.

9

boolean containsAll(Iterable<? extends C> values)

Trả về true nếu mọi phần tử trong các giá trị đều nằm trong phạm vi này.

10

static <C extends Comparable<?>> Range<C> downTo(C endpoint, BoundType boundType)

Trả về một phạm vi từ điểm cuối đã cho, có thể bao gồm (đóng) hoặc loại trừ (mở), không có giới hạn trên.

11

static <C extends Comparable<?>> Range<C> encloseAll(Iterable<C> values)

Trả về phạm vi tối thiểu chứa tất cả các giá trị đã cho.

12

boolean encloses(Range<C> other)

Trả về true nếu các giới hạn của khác không mở rộng ra ngoài giới hạn của phạm vi này.

13

boolean equals(Object object)

Trả về true nếu đối tượng là một phạm vi có cùng điểm cuối và các loại liên kết với phạm vi này.

14

static <C extends Comparable<?>> Range<C> greaterThan(C endpoint)

Trả về một dải ô chứa tất cả các giá trị lớn hơn điểm cuối.

15

int hashCode()

Trả về mã băm cho phạm vi này.

16

boolean hasLowerBound()

Trả về true nếu phạm vi này có điểm cuối thấp hơn.

17

boolean hasUpperBound()

Trả về true nếu phạm vi này có điểm cuối trên.

18

Range<C> intersection(Range<C> connectedRange)

Trả về phạm vi lớn nhất được bao bởi cả phạm vi này và phạm vi kết nối, nếu phạm vi như vậy tồn tại.

19

boolean isConnected(Range<C> other)

Trả về true nếu tồn tại một phạm vi (có thể trống) được bao bởi cả phạm vi này và phạm vi khác.

20

boolean isEmpty()

Trả về true nếu phạm vi này có dạng [v..v) hoặc (v..v].

21

static <C extends Comparable<?>> Range<C> lessThan(C endpoint)

Trả về một phạm vi chứa tất cả các giá trị nhỏ hơn điểm cuối.

22

BoundType lowerBoundType()

Trả về kiểu giới hạn dưới của phạm vi này: BoundType.CLOSED nếu phạm vi bao gồm điểm cuối thấp hơn của nó, BoundType.OPEN nếu không.

23

C lowerEndpoint()

Trả về điểm cuối thấp hơn của dải ô này.

24

static <C extends Comparable<?>> Range<C> open(C lower, C upper)

Trả về một phạm vi chứa tất cả các giá trị lớn hơn giá trị thấp hơn và nhỏ hơn giá trị trên.

25

static <C extends Comparable<?>> Range<C> openClosed(C lower, C upper)

Trả về một phạm vi chứa tất cả các giá trị lớn hơn dưới và nhỏ hơn hoặc bằng trên.

26

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

Trả về một phạm vi chứa bất kỳ giá trị nào từ thấp hơn đến cao hơn, trong đó mỗi điểm cuối có thể bao gồm (đóng) hoặc riêng (mở).

27

static <C extends Comparable<?>> Range<C> singleton(C value)

Trả về một phạm vi chỉ chứa giá trị đã cho.

28

Range<C> span(Range<C> other)

Trả về phạm vi tối thiểu bao gồm cả phạm vi này và phạm vi khác.

29

String toString()

Trả về biểu diễn chuỗi của phạm vi này, chẳng hạn như "[3..5)" (các ví dụ khác được liệt kê trong tài liệu lớp).

30

BoundType upperBoundType()

Trả về kiểu giới hạn trên của phạm vi này: BoundType.CLOSED nếu phạm vi bao gồm điểm cuối trên của nó, BoundType.OPEN nếu không.

31

C upperEndpoint()

Trả về điểm cuối trên của dải ô này.

32

static <C extends Comparable<?>> Range<C> upTo(C endpoint, BoundType boundType)

Trả về một dải ô không có giới hạn dưới lên đến điểm cuối đã cho, có thể bao gồm (đóng) hoặc loại trừ (mở).

Phương thức được kế thừa

Lớp này kế thừa các phương thức từ lớp sau:

  • java.lang.Object

Ví dụ về lớp phạm vi

Tạo chương trình java sau bằng cách sử dụng bất kỳ trình soạn thảo nào bạn chọn 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("]");
   }
}

Xác minh kết quả

Biên dịch lớp bằng cách sử dụng javac trình biên dịch như sau -

C:\Guava>javac GuavaTester.java

Bây giờ hãy chạy GuavaTester để xem kết quả.

C:\Guava>java GuavaTester

Xem kết quả.

[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 ]