HashMap,LinkedHashMap 和 TreeMap 的排序

生成的map放值时是无序的,遍历后打印的结果可以得出一下结论:

1,HashMap

key是整型时会默认排序,而且是升序;

key不是整型时,默认不排序,并且遍历取值时是随机的顺序,不是原先放入的顺序。

2,LinkedHashMap

key是整型或者不是整型都不排序,LinkedHashMap保证按放入顺序遍历。

3,TreeMap

key是整型或者不是整型都排序,LinkedHashMap默认会排序。

 

按照key排序

 对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲。

 这种方案,使用hashmap进行创建和添加,如果需要按照key排序,则可以将该hashmap作为参数传递到new TreeMap(hashmap),则可以完成按照key的排序

 Java代码  

       TreeMap treemap = new TreeMap(hashmap);  

posted @ 2012-12-18 18:06  _zao123  阅读(1509)  评论(0编辑  收藏  举报