Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java map 排序

作者:潇洒一醉   发布日期:2025-07-31   浏览:80

import java.util.*;

public class MapSortingExample {
    public static void main(String[] args) {
        // 创建一个HashMap并添加一些键值对
        Map<String, Integer> map = new HashMap<>();
        map.put("apple", 3);
        map.put("banana", 1);
        map.put("orange", 2);

        // 按照键排序
        System.out.println("按照键排序:");
        Map<String, Integer> sortedByKeyMap = sortByKey(map);
        sortedByKeyMap.forEach((key, value) -> System.out.println(key + ": " + value));

        // 按照值排序
        System.out.println("按照值排序:");
        Map<String, Integer> sortedByValueMap = sortByValue(map);
        sortedByValueMap.forEach((key, value) -> System.out.println(key + ": " + value));
    }

    // 按照键排序的方法
    public static Map<String, Integer> sortByKey(Map<String, Integer> unsortMap) {
        List<Map.Entry<String, Integer>> list = new ArrayList<>(unsortMap.entrySet());
        list.sort(Map.Entry.comparingByKey());

        Map<String, Integer> sortedMap = new LinkedHashMap<>();
        for (Map.Entry<String, Integer> entry : list) {
            sortedMap.put(entry.getKey(), entry.getValue());
        }
        return sortedMap;
    }

    // 按照值排序的方法
    public static Map<String, Integer> sortByValue(Map<String, Integer> unsortMap) {
        List<Map.Entry<String, Integer>> list = new ArrayList<>(unsortMap.entrySet());
        list.sort(Map.Entry.comparingByValue());

        Map<String, Integer> sortedMap = new LinkedHashMap<>();
        for (Map.Entry<String, Integer> entry : list) {
            sortedMap.put(entry.getKey(), entry.getValue());
        }
        return sortedMap;
    }
}

解释说明:

  1. 创建和初始化Map

    • 使用HashMap创建了一个包含若干键值对的映射。
  2. 按键排序

    • sortByKey方法将Map转换为List,然后使用list.sort()方法按照键进行排序。
    • 排序后的结果被放入一个新的LinkedHashMap中返回,以保持插入顺序。
  3. 按值排序

    • sortByValue方法与按键排序类似,但排序依据是Map.Entry的值。
    • 同样地,排序后的结果被放入一个新的LinkedHashMap中返回。
  4. 输出结果

    • 使用forEach遍历排序后的Map,并打印出键值对。

这个示例展示了如何使用Java对Map进行按键和按值排序。

上一篇:java double保留2位小数点

下一篇:java map初始化

大家都在看

java连接数据库的代码

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java实体类转json字符串

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站