题解 | #字符统计#

字符统计

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

对HashMap进行key、Value排序

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String str = sc.nextLine();
            HashMap<String, Integer> map = new HashMap<String, Integer>();
            for (int i = 0; i < str.length(); i++) {
                if (map.keySet().contains(str.charAt(i)+ "")) {
                    map.put(str.charAt(i)+"", map.get(str.charAt(i)+ "") + 1);
                } else {
                    map.put(str.charAt(i)+"", 1);
                }
            }
            Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
            List<Map.Entry<String, Integer>> list= new ArrayList<Map.Entry<String, Integer>>(entrySet);
            Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
                @Override
                public int compare(Map.Entry<String, Integer> x, Map.Entry<String, Integer> y) {
                    if (x.getValue() == y.getValue()) {
                        return x.getKey().compareTo(y.getKey());
                    } else {
                        return y.getValue() - x.getValue();
                    }
                }
            });
            for (Map.Entry<String, Integer> item : list) {
                System.out.print(item.getKey());
            }
            System.out.println("");
        }
    }
}
全部评论

相关推荐

06-25 16:53
门头沟学院 Java
人力小鱼姐:简历可以直接用飞书模板 模拟面试可以试试ai,现在好多都还是免费阶段 像Sugar云面、多面鹅都不错,主要看面试后自己能不能复盘出有效信息
为了找工作你花了哪些钱?
点赞 评论 收藏
分享
05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务