题解 | #字符统计#

字符统计

http://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

这道题目的核心地方时学会java中对HashMap进行排序。

  1. 将HashMap中Entry元素放入List中

  2. 对List使用Collections.sort()方法进行排序,并且重写comparator方法

  3. 输出排序后的List结果

    import java.util.*;
    public class Main {
     public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         while (sc.hasNext()) {
             String line = sc.nextLine().trim();
             HashMap<Character,Integer> hm = new HashMap<>();
             for (int i = 0; i < line.length(); i++) {
                 if(hm.containsKey(line.charAt(i))){
                     hm.put(line.charAt(i),hm.get(line.charAt(i))+1);
                 }else {
                     hm.put(line.charAt(i),1);
                 }
             }
             LinkedList<Map.Entry<Character,Integer>> list = new LinkedList<>(hm.entrySet());
             Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>() {
                 @Override
                 public int compare(Map.Entry<Character, Integer> o1, Map.Entry<Character, Integer> o2) {
                     if(o1.getValue()== o2.getValue()){
                         return o1.getKey().compareTo(o2.getKey());
                     }else {
                         return o2.getValue()-o1.getValue();
                     }
                 }
             });
             StringBuffer sb = new StringBuffer();
             for (int i = 0; i < list.size(); i++) {
               sb.append(list.get(i).getKey());
             }
             System.out.println(sb.toString());
    
         }
     }
    }
全部评论

相关推荐

2024-12-10 00:08
韩山师范学院 Java
讲道理的变色龙在午休:26届已经卷成这个b样了吗,遥想我们24届同学能用java敲个小游戏都算厉害了,20届的更加是一条狗都能找到工作。只能说祝你好运兄弟
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
02-03 10:14
求各位大佬帮忙改改简历提提建议
黑皮白袜臭脚体育生:简历条例统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写 可以看我帖子简历话术写法
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客企业服务