![](/img/trans.png)
[英]JAVA: Count each word on a String, and count each letter on the words
[英]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.