使用HashMap输出的顺序

来源:互联网 发布:网络招商 编辑:程序博客网 时间:2024/05/01 19:01

今天写了一段代码,打印出一段文本的行号与行的文本。结果发现输出的行数是这样的

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 16 19 18 21 20 23 22 25 24 27 26 29 28 31 30 34 35 32 33 

经过几番查找,最终将问题定位于HashMap的使用上,经过网上相关文章的介绍,我了解到:

 HashMap的输出 (不同的编译器会有不同顺序的输出):

查找解决方案

 TreeMap的输出比HashMap更加具有可预言性。注意在TreeMap中映射以关键字的字母顺序存储。不同于HashMap的输出,在一个实际的世界日历程序中,TreeMap的输出将更加有用。正如前面提及的,使用TreeMap数据结构的一个缺点是,当你在TreeMap结构中“put”或“remove”元素时,因为需要排序从而需要一些开销,这会影响到程序的性能。(译注:可以先使用HashMap,在需要顺序输出时,通过把HashMap对象作为参数传入,构造一个TreeMap达到高性能同时满足排序的双重目的)。


相关文章

    http://www.cnblogs.com/kentyshang/archive/2007/07/04/805397.html

原创粉丝点击