JAVA中字符串数组,统计出现次数并按倒序输出

思路:先统计,再排序,先map,再list,再map.

实现代码如下:

        String ssr[] = {"aa","bb","cc","aa","aaa","bb","bb"};
        Map map = new HashMap();
        for (int i = 0; i < ssr.length; i++) {
            if(map.get(ssr[i])==null){
                map.put(ssr[i], 1);
            }else{
                map.put(ssr[i], map.get(ssr[i])+1);
            }
        }
        List list = new LinkedList(map.entrySet());
        Collections.sort(list, new Comparator(){
            public int compare(Object o1, Object o2){
                return ((Comparable) ((Map.Entry) (o2)).getValue()).compareTo(((Map.Entry) (o1)).getValue());
            }
        });
        Map sortedMap = new LinkedHashMap();
        for (Iterator it = list.iterator(); it.hasNext();){
            Map.Entry entry = (Map.Entry)it.next();
            sortedMap.put(entry.getKey(), entry.getValue());
        }
        System.out.println(sortedMap);

你可能感兴趣的:(java后端,java,字符串数组,map按value排序)