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

java map key 排序

作者:メ可遇不可求   发布日期:2025-07-25   浏览:13

import java.util.*;

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

        // 方法1:使用TreeMap对key进行自然排序
        Map<String, Integer> sortedMap = new TreeMap<>(map);
        System.out.println("使用TreeMap对key进行自然排序: " + sortedMap);

        // 方法2:将entrySet转换为List并自定义排序规则
        List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
        list.sort(Map.Entry.comparingByKey()); // 按照key进行升序排序
        System.out.println("使用List并自定义排序规则: ");
        for (Map.Entry<String, Integer> entry : list) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }

        // 方法3:使用Stream API进行排序
        map.entrySet().stream()
           .sorted(Map.Entry.comparingByKey())
           .forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue()));
    }
}

解释说明:

  1. 使用 TreeMap 进行自然排序

    • TreeMap 是一个有序的 Map 实现,默认会对键进行自然排序(即按照字典顺序)。
    • HashMap 转换为 TreeMap 后,键会自动按升序排列。
  2. entrySet 转换为 List 并自定义排序规则

    • MapentrySet 转换为 List,然后使用 list.sort() 方法对键进行排序。
    • 可以通过 Map.Entry.comparingByKey() 来指定按键排序。
  3. 使用 Stream API 进行排序

    • 使用 Java 8 引入的 Stream APIMapentrySet 进行排序。
    • stream().sorted() 方法可以方便地对流中的元素进行排序,并且可以通过 forEach 输出结果。

以上三种方法都可以实现对 Map 的键进行排序。

上一篇:bigdecimal的加减乘除java

下一篇:java localtime

大家都在看

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 中文站