Java 程式列印字串中所有唯一的單詞
在本文中,我們將學習如何使用 Java 的 Map 工具查詢字串中的唯一單詞,因為它具有不包含重複鍵的特性。要查詢唯一單詞,首先獲取陣列中的所有單詞以比較每個單詞,為此,根據空格/s 分割字串。如果存在其他字元,如逗號 (,) 或句點 (.),則首先使用所需的 正則表示式 從字串中替換這些字元。
將字串的每個單詞作為 Map 的鍵插入,併為每個鍵提供初始值 是唯一的,如果此單詞之前未插入 Map 中。當一個單詞在 Map 中作為鍵重複插入時,將其條目從 Map 中刪除。對每個單詞繼續執行此操作,直到檢查完字串的所有單詞是否已插入。
問題陳述
編寫一個 Java 程式來列印字串中所有唯一的單詞。
輸入
Guitar is instrument and Piano is instrument
輸出
{Guitar=Unique, is=Unique, instrument=Unique, and=Unique, Piano=Unique}
遵循的步驟
以下是列印字串中所有唯一單詞的步驟:
- 從匯入類開始。
- 定義名為“Tester”的類並在其中初始化 main 方法。
- 初始化一個字串變數,將句子放入其中,並使用 split() 方法 將字串劃分為單詞陣列。
- 將每個單詞作為鍵儲存在 LinkedHashMap 中,其值為“Unique”。
- 遍歷 for 迴圈 並檢查該單詞是否已在 map 中。如果否,則將其新增到 map 中。
- 列印 LinkedHashMap 以顯示唯一單詞。
使用 Java 列印所有唯一單詞
以下是 Java 程式,用於列印字串中所有唯一的單詞:
import java.util.LinkedHashMap; import java.util.Map; public class Tester { public static void main(String[] args) { String str = "Guitar is instrument and Piano is instrument"; String[] strArray = str.split("\s+"); Map<String, String> hMap = new LinkedHashMap<String, String>(); for(int i = 0; i < strArray.length ; i++ ) { if(!hMap.containsKey(strArray[i])) { hMap.put(strArray[i],"Unique"); } } System.out.println(hMap); } }
輸出
{Guitar=Unique, is=Unique, instrument=Unique, and=Unique, Piano=Unique}
程式碼解釋
首先,我們將從 java.util 包 中匯入 LinkedHashMap 和 Map 類。然後,定義一個名為 Tester 的公共類,並在其中初始化 main 方法。我們可以從建立一個字串並使用 split() 方法 將其拆分為單個單詞開始。接下來,建立一個 LinkedHashMap 來儲存每個單詞作為鍵,其值為“Unique”。迴圈遍歷單詞陣列,檢查每個單詞是否已在 map 中。如果不在,我們將新增它。最後,列印 map 以顯示字串中的唯一單詞。
廣告