Java 程序,从列表中查找输入字符串的所有近似匹配
以下是查找输入字符串的列表中所有近似匹配的 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("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_encode”函数,并检查数组中是否存在与作为参考的字符串模式匹配的任何匹配项。如果找到匹配项,则返回单词。在主函数中,定义了字符串数组和模式。“match_words”函数针对此模式调用。在控制台上显示相关输出。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP