要求
通过集合方法,计算出输入的字符出现的次数以及出现最多的字符
实施
package com.sy.one;
import java.util.*;
public class Test47 {
public static void main(String[] args) {
//从控制台输入统计字符串
Scanner in = new Scanner(System.in);
String a = in.nextLine();
Map<String,Integer> map = new HashMap<String,Integer>();
//赋值给map,key值和重复次数
for (int i = 0; i <a.length() ; i++) {
String b = a.charAt(i)+"";
int c = 1;
if (map.get(b) != null){
c = map.get(b)+1;
}
map.put(b,c);
}
List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(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();
}
});
//循环取字符及其出现次数
for (int i = 0; i <list.size() ; i++) {
System.out.println(list.get(i).getKey()+"出现"+list.get(i).getValue()+"次");
}
//因从小到大排序,取最后一个索引的数值
System.out.println(list.get(list.size()-1).getKey()+"字符出现次数最多,"+list.get(list.size()-1).getValue()+"次");
}
}
版权属于:牧瀬くりす
本文链接:https://hcyacg.com/tutorial/Java-10.html
本站文章采用知识共享署名4.0 国际许可协议进行许可,允许非商业转载,但必须注明出处!
4 条评论
串门 顺便问下为什么最近方舟工具箱一直很卡 出现什么问题了吗
正常的呀|´・ω・)ノ
来串门了,博客要长草了!!
|´・ω・)ノ因为在学新技术,暂时没空写博客了