生成的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);