A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© wang06125439 中级黑马   /  2016-5-1 00:08  /  369 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

private static void demo1() {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个字符串");
                String str = sc.nextLine();
                char[] arr =str.toCharArray();
                HashMap<Character, Integer> hm = new HashMap<>();
                for (char key : arr) {
                        hm.put(key, !hm.containsKey(key) ? 1 : hm.get(key) + 1);
                }
                Collection<Integer>  value = hm.values();
                TreeSet<Integer> ts = new TreeSet<>(new Comparator<Integer>() {

                        @Override
                        public int compare(Integer i1, Integer i2) {
                                int num = i2 - i1;
                                return num == 0 ? 1 : num;
                        }
                });
                ts.addAll(value);
                for (Integer integer : ts) {
                        for (Character c : hm.keySet()) {
                                if(hm.get(c) == integer) {
                                        System.out.println(c + "=" + hm.get(c));
                                }
                        }
                }
        }

}

1 个回复

倒序浏览
一生只为黑马一生只为黑马币币
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马