1. 程式人生 > >Map集合根據key或者value排序

Map集合根據key或者value排序

前幾天開發專案,需要用到這一個小的技巧點,原以為,自己put進去的會根據自己put時順序自己拍好的,沒想到,Map集合會變亂的。。


    //hashmap降順ソート
    private static List<Map.Entry<String, String>> hashMapSort(HashMap<String, String> k_v) {
        List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(k_v.entrySet());
        Collections.sort(list, new Comparator<Map.Entry<String, String>>() {

            @Override
            public int compare(Map.Entry<String, String> o1,
                               Map.Entry<String, String> o2) {

                // 降順ソート我這邊時按照value進行降序排列,value是個float的格式string
                if (Float.parseFloat(o2.getValue()) - Float.parseFloat(o1.getValue()) > 0) {
                    return 1;
                } else {
                    return -1;
                }
            }
        });
        return list;
    }