本案例研究編寫了一個程序,用於計算文本中單字的出現次數,並按單字的字母順序顯示單字及其出現次數。程式使用 TreeMap 來儲存由單字及其計數組成的條目。對於每個單詞,檢查它是否已經是映射中的鍵。如果沒有,請在地圖上新增一個條目,其中單字為鍵,值為 1。否則,將地圖中單字(鍵)的值增加 1。假設單字不區分大小寫;例如,Good 的處理方式與 good 相同。
下面的程式碼給出了問題的解決方案。
一個2
1 級
有趣1
好3
有3個
1號早上
訪問 1
程式建立一個TreeMap(第11行)來儲存單字對及其出現次數。這些詞當作鑰匙。由於映射中的所有值都必須儲存為對象,因此計數被包裝在 Integer 物件中。
程式使用 String 類別中的 split 方法(第 13 行)從文字中擷取單字。對於提取的每個單詞,程式都會檢查它是否已作為鍵儲存在映射中(第 18 行)。如果不是,則由單字及其初始計數 (1) 組成的新物件儲存在映射中(第 19 行)。否則,單字的計數將增加 1(第 21-23 行)。
程式取得集合中對應的條目(第 29 行),並遍歷集合以顯示每個條目中的計數和鍵(第 32-33 行)。
由於地圖是樹狀圖,因此條目按單字升序顯示。您也可以按出現次數的升序來顯示它們。
現在坐下來思考一下在不使用地圖的情況下如何編寫這個程式。你的新程序會更長、更複雜。你會發現map是一個非常有效率、強大的資料結構,可以解決這樣的問題。
以上是案例研究:單字的出現的詳細內容。更多資訊請關注PHP中文網其他相關文章!