stream流對(duì)list<Map>排序

List<LinkedHashMap<String, Object>> roomList = new ArrayList<>();

if (StringUtils.isNotBlank(sortField)) {
            List<HashMap<String, Object>> rooms = new ArrayList<>();
            if ("asc".equals(sortStyle)) {
//中文排序
                if ("ConsumerName".equals(sortField) || "AmMeter_Name".equals(sortField)) {
                    rooms = roomList.stream().sorted((a, b) ->
                            Collator.getInstance(Locale.CHINA).compare(a.get(sortField).toString(), b.get(sortField).toString())
                    ).collect(Collectors.toList());
                } else {
//數(shù)字排序
                    rooms = roomList.stream().sorted(((o1, o2) -> Double.valueOf(o1.get(sortField).toString()).compareTo(Double.valueOf(o2.get(sortField).toString())))).collect(Collectors.toList());
                }
            } else {
                if ("ConsumerName".equals(sortField) || "AmMeter_Name".equals(sortField)) {
                    rooms = roomList.stream().sorted((a, b) ->
                            Collator.getInstance(Locale.CHINA).compare(b.get(sortField).toString(), a.get(sortField).toString())
                    ).collect(Collectors.toList());
                } else {
                    rooms = roomList.stream().sorted(((o1, o2) -> Double.valueOf(o2.get(sortField).toString()).compareTo(Double.valueOf(o1.get(sortField).toString())))).collect(Collectors.toList());
                }
            }
            map.put("RoomList", rooms);
        } else {
            map.put("RoomList", roomList);
        }
        map.put("sumAfterMulCoefficientValue", sumAfterMulCoefficientValue);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容