想請教一下各位大大,關於java中HashMap它的結果值順序是如何決定的?
以下是我試驗的程式碼和輸出結果。我實在是想不通輸出結果的順序為什麼是這樣,我原本以為是依照put的順序但觀察結果好像並不是,然後我有在想是不是依照我的Key它的英文字母順序但看起來也不是....
有人知道HashMap型態輸出結果的排列順序是依照什麼嗎? Thanks~
import java.util.HashMap;
public class WW {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String, Integer> list=new HashMap<String, Integer>();
list.put("Wendy", 70);
list.put("Jeff", 68);
list.put("Tony", 69);
list.put("Pom",77);
System.out.println(list);
}
}
HashMap無法保證,輸出順序和輸入順序一致
想使用順序性請使用LinkedHashMap
import java.util.*;
public class WW {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedHashMap<String, Integer> list=new LinkedHashMap<String, Integer>();
list.put("Wendy", 70);
list.put("Jeff", 68);
list.put("Tony", 69);
list.put("Pom",77);
System.out.println(list); //{Wendy=70, Jeff=68, Tony=69, Pom=77}
}
}