【发布时间】:2011-09-10 23:17:46
【问题描述】:
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);
}
}
当运行上面的代码 sn-p 时,在控制台中我得到的输出是:
{1=Australia, 10=America, 11=China, 2=India}
但我期望输出为
{1=Australia, 2=India, 10=America, 11=China}
但是当在上面的 main() 中改变下面提到的逻辑时
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() 方法返回地图中包含的映射的集合视图。该集合的迭代器以升序键顺序返回映射。那么为什么在第一种情况下会发生这种情况呢?
非常感谢任何建议。
【问题讨论】:
-
标题太棒了。几乎和以下一样有用:'treemap not works'
-
对不起,没有什么比这更严重的了
标签: java