题解 | #字符统计#

字符统计

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("");
        }
    }
}
全部评论

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务