簡體   English   中英

計算字符串Java上的每個單詞

[英]Count each word on a string Java

我需要制作一個從stdin讀取多行的程序來對單詞進行計數,然后用出現的次數打印單詞,但是如果兩個或多個單詞具有相同的數字,我必須按字母順序對其進行排序。 例如:

hello world
good morning
hello

輸出應為:

hello: 2
good: 1
morning: 1
world: 1

我想知道哪種方法是最好的,哈希圖是最好的方法嗎?

實際上,這是一個比表面上看起來更有趣的問題。

基本上, HashMap<String, Integer>是一個不錯的選擇,建立一個包含所有單詞的Map。

然后,您希望得到entrySet()指出,地圖和丟棄entrySet()從地圖到一個新ArrayList<Entry<String, Integer>> 然后,您可以使用Collections.sort使用自定義比較器對ArrayList進行排序,該比較器首先按值排序,然后按鍵排序。

我不會為您提供代碼,但是如果您對這些步驟有任何疑問,請隨時提出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM