统计字符串中每个字符重复出现的次数,并按照从大到小或从小到大顺序输出

public static void test(String str){

Map<String,Integer> map = new HashMap<>();

for(int i = 0 ;i < str.length();i++){

String s = str.charAt(i) + "";
if(map.containsKey(s)){
int value = map.get(s);
map.put(s,value + 1);
}else{

map.put(s,1);

}
}

List<Map.Entry<String,Integer>> list = new ArrayList<>(map.entrySet());

Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){
@Override
public int compare(Map.Entry<String,Integer> o1,Map.Entry<String,Integer> o2){
            //从小到大排序
return o1.getValue() - o2.getValue();
            //从大到小排序
            return o2.getValue() - o1.getValue();

}

}


);

for(Map.Entry<String,Integer> m: list){

System.out.println(m.getKey() + "---" + m.getValue());

}

}
posted @ 2019-05-09 18:07  keepup~  阅读(3189)  评论(0编辑  收藏  举报