Predicate और Composition
बूलियन परीक्षणों को संयोजित करें
Predicate और Composition, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Predicate क्या करता है
Predicate<T> एक मान लेता है और बूलियन लौटाता है।
- इसकी विधि
boolean test(T t)है। - यह हाँ/नहीं वाली शर्त का निरूपण करता है।
import java.util.function.Predicate;
public class Main {
public static void main(String[] args) {
Predicate<Integer> isEven = n -> n % 2 == 0;
System.out.println(isEven.test(4));
System.out.println(isEven.test(5));
}
}filter में Predicate
Stream.filter एक Predicate लेता है और केवल मेल खाने वाले तत्वों को रखता है।
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> nums = List.of(1, 2, 3, 4, 5, 6);
List<Integer> evens = nums.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println(evens);
}
}and के साथ संयोजन
and ऐसा प्रेडिकेट बनाता है जो तभी सत्य होता है जब दोनों प्रेडिकेट की जाँच सफल हो।
import java.util.function.Predicate;
public class Main {
public static void main(String[] args) {
Predicate<Integer> positive = n -> n > 0;
Predicate<Integer> even = n -> n % 2 == 0;
Predicate<Integer> both = positive.and(even);
System.out.println(both.test(4));
System.out.println(both.test(-2));
}
}or के साथ संयोजन
or तब सत्य लौटाता है जब कम-से-कम एक प्रेडिकेट की जाँच सफल हो।
import java.util.function.Predicate;
public class Main {
public static void main(String[] args) {
Predicate<String> empty = String::isEmpty;
Predicate<String> shortStr = s -> s.length() < 3;
Predicate<String> either = empty.or(shortStr);
System.out.println(either.test(""));
System.out.println(either.test("hi"));
System.out.println(either.test("hello"));
}
}negate के साथ निषेध
negate प्रेडिकेट के परिणाम को उलट देता है और तार्किक NOT देता है।
import java.util.function.Predicate;
public class Main {
public static void main(String[] args) {
Predicate<Integer> even = n -> n % 2 == 0;
Predicate<Integer> odd = even.negate();
System.out.println(odd.test(3));
}
}Predicate.not स्थैतिक सहायक
Predicate.not(p) निषेध करने का एक पठनीय स्थैतिक तरीका है, विशेष रूप से विधि संदर्भों के साथ।
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> words = List.of("", "a", "", "bc");
List<String> nonEmpty = words.stream()
.filter(Predicate.not(String::isEmpty))
.collect(Collectors.toList());
System.out.println(nonEmpty);
}
}Predicate.isEqual
Predicate.isEqual(target) Objects.equals का उपयोग करके किसी निश्चित मान के साथ समानता जाँचने वाला प्रेडिकेट बनाता है।
import java.util.function.Predicate;
public class Main {
public static void main(String[] args) {
Predicate<String> isJava = Predicate.isEqual("java");
System.out.println(isJava.test("java"));
System.out.println(isJava.test("python"));
}
}कई शर्तों की श्रृंखला बनाना
समृद्ध नियम व्यक्त करने के लिए आप and, or और negate को श्रृंखलाबद्ध कर सकते हैं। समूह निर्धारित करने के लिए कोष्ठकों का उपयोग करें।
import java.util.function.Predicate;
public class Main {
public static void main(String[] args) {
Predicate<Integer> big = n -> n > 100;
Predicate<Integer> even = n -> n % 2 == 0;
Predicate<Integer> rule = big.and(even).or(n -> n == 0);
System.out.println(rule.test(0));
System.out.println(rule.test(102));
System.out.println(rule.test(101));
}
}दो इनपुट के लिए BiPredicate
BiPredicate<T, U> दो आर्ग्युमेंट की जाँच करता है और and, or तथा negate का भी समर्थन करता है।
import java.util.function.BiPredicate;
public class Main {
public static void main(String[] args) {
BiPredicate<String, Integer> hasLength = (s, n) -> s.length() == n;
System.out.println(hasLength.test("hello", 5));
}
}anyMatch में प्रेडिकेट
anyMatch, allMatch और noneMatch जैसे Stream के अंतिम संचालन सभी एक Predicate लेते हैं।
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> nums = List.of(1, 3, 5, 8);
System.out.println(nums.stream().anyMatch(n -> n % 2 == 0));
System.out.println(nums.stream().allMatch(n -> n > 0));
}
}पुनः उपयोग योग्य प्रेडिकेट स्थिरांक
प्रेडिकेट को नामित वेरिएबल के रूप में परिभाषित करने से फ़िल्टरिंग प्रसंस्करण-श्रृंखलाएँ स्वयं-व्याख्यात्मक और पुनः उपयोग योग्य बनती हैं।
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Predicate<String> nonBlank = s -> !s.isBlank();
List<String> input = List.of("a", " ", "", "b");
System.out.println(input.stream().filter(nonBlank).collect(Collectors.toList()));
}
}त्वरित जाँच
p.and(q) क्या उत्पन्न करता है?
पुनरावलोकन
आपने बूलियन जाँचों का संयोजन किया:
Predicate<T>बूलियन लौटाने के लिएtestका उपयोग करता है।and,orऔरnegateकम-से-कम आवश्यक जाँच के साथ शर्तों को जोड़ते हैं।Predicate.notऔरPredicate.isEqualउपयोगी स्थैतिक सहायक हैं।BiPredicateदो इनपुट की जाँच करता है।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “Predicate और Composition” पाठ निःशुल्क है?
हाँ—“Predicate और Composition” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Predicate और Composition” में मैं क्या सीखूँगा?
बूलियन परीक्षणों को संयोजित करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Predicate और Composition” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Function और BiFunction
- Supplier और Consumer
- Predicate और Composition
- कस्टम फ़ंक्शनल इंटरफ़ेस