簡體   English   中英

Java中將元素放入HashMap

[英]Put elements into HashMap in Java

為什么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}

HashHap是無序的。 因此,鍵值對由toString()表示沒有特定的順序。

HashMaptoString()方法由System.out.println調用,實現將映射表示為字符串,如下所示:

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

順序可以但不保證是插入的順序。

您在此處使用的映射接口 (HashMap) 的實現不維護插入順序。 您需要使用 LinkedHashMap 或 TreeMap 之類的東西。 希望這個答案能幫助你實現 Map 並保持插入順序的更多Java 類?

您正在從哈希圖中調用 toString 方法,而不是實際獲取值,您應該使用 get 獲取值

hashMap.get(10);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM