import java.util.*;
public class Test {
public static void main(String[] args) {
Map<String,String> map = new TreeMap<String,String>();
map.put("10", "America");
map.put("1", "Australia");
map.put("2", "India");
map.put("11", "China");
System.out.println(map);
}
}
當運行上面的代碼片段,在控制檯我得到的輸出:TreeMap的行爲異常
{1=Australia, 10=America, 11=China, 2=India}
但我期待輸出
{1=Australia, 2=India, 10=America, 11=China}
但是當改變邏輯如所提到的下面內側上述主要()
Map<String,String> map = new TreeMap<String,String>();
map.put("US", "America");
map.put("AUS", "Australia");
map.put("IN", "India");
map.put("CH", "China");
System.out.println(map);
我得到所期望的輸出
({AUS=Australia, CH=China, IN=India, US=America})
按我理解TreeMap中的的entrySet()方法返回包含在映射的一組視圖地圖。該集的迭代器按照升序鍵順序返回映射。那麼爲什麼在第一種情況下會發生這種情況?
任何建議,非常感謝。
提示:'1 = 「1」' – 2011-06-08 14:56:32
標題是驚人的!幾乎同樣有用:'treemap not works' – bestsss 2011-06-08 15:04:14
對不起,bestsss沒有什麼可以如此認真的 – Neel 2011-06-08 15:16:54