首页 > 解决方案 > 在Java中将元素放入HashMap

问题描述

为什么HashMap返回值乱序?

public class Main {
    public static void main(String[] args) {
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(40, "40");
        hashMap.put(10, "10");
        hashMap.put(30, "30");
        hashMap.put(20, "20");

        System.out.println(hashMap);
    }
}

输出:

{20=20, 40=40, 10=10, 30=30}

我期望:

{40=40, 10=10, 30=30, 20=20}

标签: java

解决方案


AHashHap是无序的。因此,键值对将由 表示没有特定的顺序toString()

toString()方法HashMap,由 调用System.out.println,被实现以将地图表示为字符串,如下所示:

{key0=value0, key1=value1,..., keyN=valueN}

该顺序可以但不保证是插入顺序。


推荐阅读