对HashMap的value(key)进行排序

为了对HashMap中的value进行排序,写了一个公共方法

传入HashMap<自定义,自定义>即可,下列代码中是实例化为HashMap的Map

    /*
     * 对Map中的value进行排序(正序)
     */
    public Map sortMapByValue(Map unSortMap) {
        if (unSortMap == null || unSortMap.isEmpty()) {
            return null;
        }
        List> listEntry = new ArrayList<>();
        listEntry.addAll(unSortMap.entrySet());
        Collections.sort(listEntry, new Comparator>() {
            @Override
            public int compare(Map.Entry o1, Map.Entry o2) {
                // String的compareTo方法,返回负数,说明o1在o2的字典顺序之前。
                return o1.getValue().compareTo(o2.getValue());// 此处。getValue改成getKey即可对Map按照key进行排序
            }
        });
        Map sortedMap = new LinkedHashMap<>();
        for(Map.Entry entry : listEntry){
            sortedMap.put(entry.getKey(), entry.getValue());
        }
        return sortedMap;
    }    

对HashMap中的key进行排序,只需按注释修改getValue为getKey即可修改。

 

参考:https://www.cnblogs.com/liwei09k1/p/7722802.html

转载于:https://www.cnblogs.com/Wulc-theworld/p/11424294.html

你可能感兴趣的:(对HashMap的value(key)进行排序)