中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java map根據值排序怎么實現

小億
96
2023-10-21 14:06:24
欄目: 編程語言

要根據Map的值進行排序,可以使用Java 8中的Stream和Lambda表達式來實現。下面是一個示例代碼:

import java.util.*;

public class MapSortingExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("A", 5);
        map.put("B", 3);
        map.put("C", 8);
        map.put("D", 1);

        // 使用Stream的sorted方法,根據值進行排序
        Map<String, Integer> sortedMap = map.entrySet()
                .stream()
                .sorted(Map.Entry.comparingByValue())
                .collect(
                        LinkedHashMap::new,
                        (map1, entry) -> map1.put(entry.getKey(), entry.getValue()),
                        LinkedHashMap::putAll
                );

        // 打印排序后的Map
        sortedMap.forEach((key, value) -> System.out.println(key + ": " + value));
    }
}

此示例先創建了一個包含鍵和值的Map,然后使用Stream的sorted方法對Map的Entry(鍵值對)進行排序,使用Map.Entry.comparingByValue()指定按值進行排序。最后,使用collect方法收集排序后的結果,并將其放入LinkedHashMap中以保持排序順序。

輸出結果為:

D: 1
B: 3
A: 5
C: 8

請注意,由于HashMap本身是無序的,因此我們使用LinkedHashMap來保持排序順序。

0
宁河县| 桂阳县| 自贡市| 衡水市| 甘孜县| 百色市| 庆城县| 嘉鱼县| 鄂尔多斯市| 大埔县| 涞源县| 开阳县| 濉溪县| 全州县| 屯门区| 柘荣县| 屏山县| 积石山| 神木县| 五莲县| 攀枝花市| 中山市| 三都| 高阳县| 黑龙江省| 玉龙| 油尖旺区| 揭阳市| 高州市| 阳山县| 肥东县| 仙游县| 九台市| 哈巴河县| 崇义县| 佳木斯市| 襄樊市| 积石山| 巴林左旗| 榆林市| 崇明县|