解决方案 »

  1.   

    map是无序的,不是按你put的顺序来的
      

  2.   

    那或许是凑巧吧,我增加了数据量后确实是无序的Map map = new HashMap();
    map.put(1, "1");map.put(4, "4");
    map.put(2, "2");map.put(3, "3");
    map.put(12, "12");map.put(23, "23");
    map.put(52, "52");map.put(13, "13");
    map.put(25, "25");map.put(33, "33");
    Set set = map.keySet();
    for(Object obj:set){
    System.out.println(obj);
    }
    执行结果:
    1
    2
    33
    3
    4
    23
    52
    25
    12
    13
      

  3.   

    LinkedHashMap 可以实现有序 用一个hashMap 一个list实现的
      

  4.   

    set map是无序的数据少,有规律可能会有序输出,多就不行了。
      

  5.   

    HashMap是按照hashCode值进行排列的,所以出现1,2,3,4.如果将map的实现改成LinkedHashMap,那就按照你放入的顺序输出了
      

  6.   

    map存储不是根据put的顺序来的,存储的情况相当一个堆栈,你这个是个巧合。