Java在里集合中查找格式相同的字符串
import java.io.*; import java.util.*; public class Demo{ static String string_encoding(String str){ HashMap<Character, Integer> 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("数组中与ddcc类似的模式是 :"); match_words(my_arr, my_pattern); } }
输出结果
数组中与ddcc类似的模式是: aabb xxyy mmnn
一个名为Demo的类包含一个名为' string_encoding '的函数。此函数创建一个hashmap并遍历字符串,以检查是否有与指定字符串匹配的元素。
定义了另一个名为'match_words'的函数,该函数调用'string_encoding'函数,并检查数组中是否存在与作为参考的字符串模式匹配的项。 如果找到,则返回单词。 在main函数中,字符串数组与模式一起定义。 在此模式下调用“ match_words”方法。 相关输出将显示在控制台上。