अमरूद - रेंज क्लास

रेंज एक अंतराल या एक अनुक्रम का प्रतिनिधित्व करता है। इसका उपयोग किसी विशेष श्रेणी में पड़े संख्याओं / तारों का एक सेट प्राप्त करने के लिए किया जाता है।

वर्ग घोषणा

निम्नलिखित के लिए घोषणा है com.google.common.collect.Range<C> वर्ग -

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

तरीकों

अनु क्रमांक विधि और विवरण
1

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

एक सीमा देता है जिसमें टाइप C का हर मान होता है।

2

boolean apply(C input)Deprecated.

केवल समर्पित इंटरफ़ेस को पूरा करने के लिए; इसके स्थान पर (C) का उपयोग होता है।

3

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

ऐसी सीमा लौटाता है जिसमें समापन बिंदु के बराबर या उससे अधिक सभी मान होते हैं।

4

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

ऐसी सीमा लौटाता है जिसमें समापन बिंदु के बराबर या उससे कम सभी मान होते हैं।

5

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

दिए गए डोमेन में इस श्रेणी का विहित रूप लौटाता है।

6

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

एक ऐसी सीमा लौटाता है जिसमें सभी मान उच्च से अधिक या बराबर होते हैं और ऊपरी के बराबर या उससे कम होते हैं।

7

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

एक ऐसी सीमा लौटाता है जिसमें निम्न से अधिक या बराबर सभी मान शामिल होते हैं और ऊपरी से कड़ाई से कम होते हैं।

8

boolean contains(C value)

यदि इस सीमा की सीमा के भीतर मूल्य सही है, तो लौटाता है।

9

boolean containsAll(Iterable<? extends C> values)

यदि प्रत्येक तत्व मान इस श्रेणी में सम्‍मिलित है, तो सही है।

10

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

दिए गए समापन बिंदु से एक सीमा लौटाता है, जो या तो समावेशी (बंद) या अनन्य (खुला) हो सकता है, जिसमें कोई ऊपरी सीमा नहीं है।

1 1

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

वह न्यूनतम श्रेणी देता है जिसमें दिए गए सभी मान शामिल होते हैं।

12

boolean encloses(Range<C> other)

अगर दूसरे की सीमा इस सीमा के बाहर नहीं बढ़ती है तो यह सच है।

13

boolean equals(Object object)

अगर यह सीमा के समान है, तो ऑब्जेक्ट एक ही एंडपॉइंट्स और बाउंड टाइप वाली एक सीमा है।

14

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

ऐसी सीमा लौटाता है जिसमें समापन बिंदु से अधिक सभी मान शामिल होते हैं।

15

int hashCode()

इस रेंज के लिए एक हैश कोड देता है।

16

boolean hasLowerBound()

यह सीमा कम अंत बिंदु है, तो सही है।

17

boolean hasUpperBound()

यदि यह सीमा ऊपरी समापन बिंदु है, तो सही है।

18

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

यदि इस तरह की सीमा मौजूद है, तो इस रेंज और कनेक्टरेंज दोनों द्वारा संलग्न अधिकतम रेंज लौटाता है।

19

boolean isConnected(Range<C> other)

अगर वहाँ (संभवतः खाली) रेंज मौजूद है, जो इस श्रेणी और अन्य दोनों से संलग्न है, तो सही है।

20

boolean isEmpty()

यह सीमा यदि प्रपत्र [v..v) या (v..v] की है तो सही है।

21

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

ऐसी सीमा लौटाता है जिसमें समापन बिंदु की तुलना में सभी मान सख्ती से कम होते हैं।

22

BoundType lowerBoundType()

इस श्रेणी के निचले बाउंड के प्रकार को लौटाता है: बाउंड टाइप टाइप किया हुआ होता है, यदि रेंज में इसका निचला समापन बिंदु शामिल होता है, तो बाउंड टाईप.ओपीन यदि ऐसा नहीं करता है।

23

C lowerEndpoint()

इस सीमा के निचले बिंदु को लौटाता है।

24

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

एक ऐसी सीमा लौटाता है जिसमें सभी मान कम से कम और ऊपरी से सख्ती से कम होते हैं।

25

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

एक ऐसी सीमा लौटाता है जिसमें सभी मान कम से कम और ऊपरी के बराबर या उससे अधिक होते हैं।

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 value)

एक सीमा देता है जिसमें केवल दिए गए मान होते हैं।

28

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

उस न्यूनतम सीमा को लौटाता है जो इस श्रेणी और अन्य दोनों को जोड़ती है।

29

String toString()

इस श्रेणी का एक स्ट्रिंग प्रतिनिधित्व लौटाता है, जैसे "[3..5)" (अन्य उदाहरण वर्ग प्रलेखन में सूचीबद्ध हैं)।

30

BoundType upperBoundType()

इस श्रेणी के ऊपरी बाउंड के प्रकार को लौटाता है: अगर इसका ऊपरी समापन बिंदु शामिल नहीं है, तो बाउंड टाइप टाइप करें।

31

C upperEndpoint()

इस श्रेणी के ऊपरी समापन बिंदु को लौटाता है।

32

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

एक सीमा देता है जिसमें दिए गए एंडपॉइंट के नीचे कोई सीमा नहीं होती है, जो या तो समावेशी (बंद) या अनन्य (खुली) हो सकती है।

तरीके निहित हैं

इस वर्ग को निम्न वर्ग से विधियाँ प्राप्त होती हैं -

  • java.lang.Object

रेंज क्लास का उदाहरण

अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं 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

परिणाम देखें।

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