लिस्ट से इनपुट स्ट्रिंग के सभी क्लोज मैच खोजने के लिए, Java कोड निम्नलिखित है:
उदाहरण
import java.io.*; import java.util.*; public class Demo{ static String string_encoding(String str){ HashMap my_map = new HashMap<>(); String result = ""; int i = 0; char ch; for (int j = 0; j < str.length(); j++){ ch = str.charAt(j); if (!my_map.containsKey(ch)) my_map.put(ch, i++); result += my_map.get(ch); } return result; } static void match_words(String[] my_arr, String my_pattern){ int len = my_pattern.length(); String hash_val = string_encoding(my_pattern); for (String word : my_arr){ if (word.length() == len && string_encoding(word).equals(hash_val)) System.out.print(word + " "); } } public static void main(String args[]){ String[] my_arr = {"mno", "aabb", "pqr", "xxyy", "mmnn"}; String my_pattern = "ddcc"; System.out.println("The patterns similar to ddcc in the array are:"); match_words(my_arr, my_pattern); } } आउटपुट
The patterns similar to ddcc in the array are: aabb xxyy mmnn
Demo नामक क्लास में 'string_encoding' नामक फंक्शन है। यह फंक्शन एक हैशमैप बनाता है और स्ट्रिंग पर इटरेट करके जांचता है कि क्या प्रश्न में स्ट्रिंग से मेल खाने वाले कोई पैटर्न हैं।
'match_words' नामक एक अन्य फंक्शन परिभाषित किया गया है जो 'string_encoding' फंक्शन को बुलाता है और जांचता है कि क्या दिए गए संदर्भ स्ट्रिंग के पैटर्न के साथ ऐरे में कोई मैच है। यदि मिलता है, तो शब्द वापस कर दिया जाता है। मुख्य फंक्शन में, स्ट्रिंग ऐरे एक पैटर्न के साथ परिभाषित किया जाता है। 'match_words' फंक्शन को इस पैटर्न पर बुलाया जाता है। प्रासंगिक आउटपुट कंसोल पर प्रदर्शित होता है।