java.util.function पैकेज का Predicate इंटरफेस लैम्ब्डा एक्सप्रेशन के लिए लक्ष्य के रूप में उपयोग किया जा सकता है। इस इंटरफेस का test मेथड एक मान स्वीकार करता है और इसे Predicate ऑब्जेक्ट के वर्तमान मान के साथ मान्य करता है। मिलान के मामले में यह मेथड true लौटाता है, अन्यथा false।
java.util.regex.Pattern क्लास का asPredicate() मेथड एक Predicate ऑब्जेक्ट लौटाता है जो वर्तमान Pattern ऑब्जेक्ट को कंपाइल करने के लिए उपयोग किए गए रेगुलर एक्सप्रेशन का उपयोग करके एक स्ट्रिंग का मिलान कर सकता है।
उदाहरण 1
import java.util.Scanner;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public class AsPredicateExample {
public static void main(String args[]) {
// स्ट्रिंग मान पढ़ना
Scanner sc = new Scanner(System.in);
System.out.println("इनपुट स्ट्रिंग दर्ज करें");
String input = sc.nextLine();
// अंक खोजने के लिए रेगुलर एक्सप्रेशन
String regex = "[t]";
// रेगुलर एक्सप्रेशन कंपाइल करना
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
// रेगुलर एक्सप्रेशन को प्रीडिकेट में बदलना
Predicate predicate = pattern.asPredicate();
// इनपुट स्ट्रिंग के साथ प्रीडिकेट का परीक्षण
boolean result = predicate.test(input);
if(result) {
System.out.println("मिलान मिला");
} else {
System.out.print("मिलान नहीं मिला");
}
}
}
आउटपुट
इनपुट स्ट्रिंग दर्ज करें Tutorialspoint मिलान मिला
उदाहरण 2 (स्ट्रीम के साथ उपयोग)
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public class AsPredicateExample {
public static void main(String args[]) {
ArrayList list = new ArrayList();
list.addAll(Arrays.asList("Java", "JavaFX", "Hbase", "JavaScript"));
// अंक खोजने के लिए रेगुलर एक्सप्रेशन
String regex = "[J]";
// रेगुलर एक्सप्रेशन कंपाइल करना
Pattern pattern = Pattern.compile(regex);
// रेगुलर एक्सप्रेशन को प्रीडिकेट में बदलना
Predicate predicate = pattern.asPredicate();
list.forEach(n -> {
if (predicate.test(n))
System.out.println("मिलान मिला " + n);
});
}
}
आउटपुट
मिलान मिला Java मिलान मिला JavaFX मिलान मिला JavaScript