[英]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()
表示沒有特定的順序。
HashMap
的toString()
方法由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.