各文字列内の単語の数を計算し、出力を降順

結果:

 

コード:

輸入java.io.BufferedReader; 
インポートにjava.io.IOException; 
輸入java.io.InputStreamReader; 
輸入はjava.util.ArrayList; 
輸入java.util.Collections。
輸入はjava.util.Comparator; 
輸入java.util.HashMapを; 
輸入はjava.util.List; 
輸入java.util.Map; 


パブリック クラスデモ{ 

    公共 静的 ボイドメイン(文字列[] argsが)にIOException {スロー
        文字列sを = " 马佳;刘胜;马佳;刘胜;慧;慧;刘胜; " ; 
        文字列str [] = S.split(" ; " ); 
        
        システム。アウト.println(str.length)。
        
        地図 <文字列、整数>マップ= 新しい HashMapの<文字列、整数> (); 
        
        以下のため:(STRストリングS1){ 
            
            場合(!map.containsKey(S1))   
                map.put(s、1 )。  
              
                map.put(S1、(マップ。取得(S1)+ 1 ));  
        } 

      
        リスト <のMap.Entry <文字列、整数>>リスト= 新規のArrayList <のMap.Entry <文字列、整数>> (map.entrySet())。

        Collections.sort(リスト、新しいコンパレータ<のMap.Entry <文字列、整数>> (){ 
            
            公共 のint比較(のMap.Entry <文字列、整数> mapping2、のMap.Entry <文字列、整数> mapping1)
            { 
                リターンmapping1.getValue()のcompareTo(mapping2.getValue())。
            } 
        })。
     
        Map.Entry <文字列、整数>マッピング= NULL ;
        INTは iは= 0 ; I <はlist.size(); I ++ ){ 
            マッピング =リスト。取得(I);
            もし(I < 10 
            のシステム。アウト .println(mapping.getKey()+ " = " + mapping.getValue())。 
        }
    } 
}

 

おすすめ

転載: www.cnblogs.com/mm20/p/11917000.html