0
点赞
收藏
分享

微信扫一扫

java根据List集合中map的数据对list进行排序

朱小落 2022-04-07 阅读 70
java
public static void main(String[] args) {
        Map<String,String> orderMap = new HashMap<>();
        orderMap.put("0-2年","1");
        orderMap.put("3-5年","2");
        orderMap.put("6-9年","3");
        orderMap.put("10年以上","4");
        orderMap.put("未知","5");

        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
        Map<String,Object> map1 = new HashMap<>();
        map1.put("workYear","0-2年");
        Map<String,Object> map3 = new HashMap<>();
        map3.put("workYear","3-5年");
        Map<String,Object> map4 = new HashMap<>();
        map4.put("workYear","6-9年");
        Map<String,Object> map5 = new HashMap<>();
        map5.put("workYear","未知");
        Map<String,Object> map2 = new HashMap<>();
        map2.put("workYear","10年以上");

        list.add(map1);
        list.add(map3);
        list.add(map5);
        list.add(map2);
        list.add(map4);
        System.out.println("排序前");
        for (Map<String, Object> map : list) {
            System.out.println(map.get("workYear"));
        }
        Collections.sort(list, new Comparator<Map<String, Object>>() {
            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                String name1 = (String) o1.get("workYear");
                String name2 = (String) o2.get("workYear");
                return orderMap.get(name1).compareTo(orderMap.get(name2));
            }
        });
        System.out.println("排序后");
        for (Map<String, Object> map : list) {
            System.out.println(map.get("workYear"));
        }

    }
举报

相关推荐

0 条评论