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 以顯示字串中的唯一單詞。

更新於: 2024-08-16

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告