अमरूद - रेंज क्लास
रेंज एक अंतराल या एक अनुक्रम का प्रतिनिधित्व करता है। इसका उपयोग किसी विशेष श्रेणी में पड़े संख्याओं / तारों का एक सेट प्राप्त करने के लिए किया जाता है।
वर्ग घोषणा
निम्नलिखित के लिए घोषणा है 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 ]