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”函式針對此模式呼叫。在控制檯上顯示相關輸出。

更新於:07-Jul-2020

585 瀏覽

開啟你的 事業

透過完成此課程獲得認證

開始
廣告
© . All rights reserved.