java.util.function প্যাকেজের Predicate ইন্টারফেস ল্যাম্বডা এক্সপ্রেশনের জন্য টার্গেট হিসেবে ব্যবহার করা যায়। এই ইন্টারফেসের test মেথড একটি মান গ্রহণ করে এবং Predicate অবজেক্টের বর্তমান মান দিয়ে তা যাচাই করে। ম্যাচ পেলে এই মেথড true ফেরত দেয়, অন্যথায় false।
asPredicate() মেথড (java.util.regex.Pattern ক্লাসের) একটি Predicate অবজেক্ট ফেরত দেয় যা বর্তমান Pattern অবজেক্ট কম্পাইল করার জন্য ব্যবহৃত রেগুলার এক্সপ্রেশন দিয়ে একটি স্ট্রিং মিলাতে পারে।
উদাহরণ ১
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("Enter input string");
String input = sc.nextLine();
// অঙ্ক খুঁজতে রেগুলার এক্সপ্রেশন
String regex = "[t]";
// রেগুলার এক্সপ্রেশন কম্পাইল
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
// রেগুলার এক্সপ্রেশনকে প্রেডিকেটে রূপান্তর
Predicate<String> predicate = pattern.asPredicate();
// ইনপুট স্ট্রিং-এ প্রেডিকেট টেস্ট
boolean result = predicate.test(input);
if(result) {
System.out.println("Match found");
} else {
System.out.print("Match not found");
}
}
}
আউটপুট
Enter input string Tutorialspoint Number of matches: 3
উদাহরণ ২
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<String> list = new ArrayList<String>();
list.addAll(Arrays.asList("Java", "JavaFX", "Hbase", "JavaScript"));
// অঙ্ক খুঁজতে রেগুলার এক্সপ্রেশন
String regex = "[J]";
// রেগুলার এক্সপ্রেশন কম্পাইল
Pattern pattern = Pattern.compile(regex);
// রেগুলার এক্সপ্রেশনকে প্রেডিকেটে রূপান্তর
Predicate<String> predicate = pattern.asPredicate();
list.forEach(n -> {
if (predicate.test(n))
System.out.println("Match found " + n);
});
}
}
আউটপুট
Match found Java Match found JavaFX Match found JavaScript