結果:
コード:
輸入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())。 } } }