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