java8 stream 中 map 对象转集合

本文展示了一组关于不同信息技术领域的热度数据,并通过Java及各类前端技术的使用频率进行了排序。结果显示Java以压倒性的优势位居榜首,而前端技术如Vue.js、JavaScript等也占据了较高的位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假定有如下数据

{
    "Java": 96531,
    "CSS": 1,
    "Tomcat": 1,
    "微信小程序": 1236,
    "Eclipse": 2,
    "DevOps ": 15,
    "Mariadb": 2,
    "Node.js": 1,
    "JQuery": 10,
    "Android": 2,
    "CSS3": 169,
    "HTML5+CSS3": 1,
    "IDEA": 1,
    "运维": 2,
    "JavaScript": 452,
    "HTML5": 1,
    "物联网": 1,
    "Oracle": 96,
    "Vuejs": 664,
    "Hbase": 1,
    "云计算": 51
}

执行代码

public static void main(String[] args) {
        String str = "{\"Java\":96531,\"CSS\":1,\"Tomcat\":1,\"微信小程序\":1236,\"Eclipse\":2,\"DevOps \":15,\"Mariadb\":2,\"Node.js\":1,\"JQuery\":10,\"Android\":2,\"CSS3\":169,\"HTML5+CSS3\":1,\"IDEA\":1,\"运维\":2,\"JavaScript\":452,\"HTML5\":1,\"物联网\":1,\"Oracle\":96,\"Vuejs\":664,\"Hbase\":1,\"云计算\":51}";
        Map<String, Object> mapData = (Map<String, Object>) JSONObject.parse(str);
        List<Map<String, Object>> resultList = mapData.entrySet().stream().map(a -> {
            Map<String, Object> info = new HashMap<>();
            info.put("key", a.getKey());
            info.put("value", a.getValue());
            return info;
        }).collect(Collectors.toList());
        System.out.println("排序前:" + JSONObject.toJSONString(resultList));
        resultList = resultList.stream().sorted((h1, h2) -> Integer.valueOf(h2.get("value").toString()).compareTo(Integer.valueOf(h1.get("value").toString()))).collect(Collectors.toList());
        System.out.println("排序后:" + JSONObject.toJSONString(resultList));
    }

排序前-输出结果

[
    {
        "value": 96531,
        "key": "Java"
    },
    {
        "value": 1,
        "key": "CSS"
    },
    {
        "value": 1,
        "key": "Tomcat"
    },
    {
        "value": 1236,
        "key": "微信小程序"
    },
    {
        "value": 2,
        "key": "Eclipse"
    },
    {
        "value": 15,
        "key": "DevOps "
    },
    {
        "value": 2,
        "key": "Mariadb"
    },
    {
        "value": 1,
        "key": "Node.js"
    },
    {
        "value": 10,
        "key": "JQuery"
    },
    {
        "value": 2,
        "key": "Android"
    },
    {
        "value": 169,
        "key": "CSS3"
    },
    {
        "value": 1,
        "key": "HTML5+CSS3"
    },
    {
        "value": 1,
        "key": "IDEA"
    },
    {
        "value": 2,
        "key": "运维"
    },
    {
        "value": 452,
        "key": "JavaScript"
    },
    {
        "value": 1,
        "key": "HTML5"
    },
    {
        "value": 1,
        "key": "物联网"
    },
    {
        "value": 96,
        "key": "Oracle"
    },
    {
        "value": 664,
        "key": "Vuejs"
    },
    {
        "value": 1,
        "key": "Hbase"
    },
    {
        "value": 51,
        "key": "云计算"
    }
]

排序后-输出结果

[
    {
        "value": 96531,
        "key": "Java"
    },
    {
        "value": 1236,
        "key": "微信小程序"
    },
    {
        "value": 664,
        "key": "Vuejs"
    },
    {
        "value": 452,
        "key": "JavaScript"
    },
    {
        "value": 169,
        "key": "CSS3"
    },
    {
        "value": 96,
        "key": "Oracle"
    },
    {
        "value": 51,
        "key": "云计算"
    },
    {
        "value": 15,
        "key": "DevOps "
    },
    {
        "value": 10,
        "key": "JQuery"
    },
    {
        "value": 2,
        "key": "Eclipse"
    },
    {
        "value": 2,
        "key": "Mariadb"
    },
    {
        "value": 2,
        "key": "Android"
    },
    {
        "value": 2,
        "key": "运维"
    },
    {
        "value": 1,
        "key": "CSS"
    },
    {
        "value": 1,
        "key": "Tomcat"
    },
    {
        "value": 1,
        "key": "Node.js"
    },
    {
        "value": 1,
        "key": "HTML5+CSS3"
    },
    {
        "value": 1,
        "key": "IDEA"
    },
    {
        "value": 1,
        "key": "HTML5"
    },
    {
        "value": 1,
        "key": "物联网"
    },
    {
        "value": 1,
        "key": "Hbase"
    }
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值