各们大哥们,有一问题,想要求教:当HashMap如果用int当key的话用for each语句打出所有元素时就是有序的,如果用别的类型是乱序的!
我也知道光用System.out.println打也是有序的,可是为什么for each就是行呢?难道是for each是随机遍历?那用int做key又怎么解释呢?

解决方案 »

  1.   

    当HashMap如果用int当key的话用for each语句打出所有元素时就是有序的,
    怎么个有序法  以谁为标准有序的?
      

  2.   

    HashMap是不会排序的,你这不过是巧合而已。
    如果想要排序的Map,可以用SortedMap。
      

  3.   

    HashMap的keySet元素不会有序的啊,楼主巧合了吧
      

  4.   

    http://javas.5d6d.com/forum-8-1.html  Java核心语法在线视频 很好很强大 强烈推荐 免费资源 
      

  5.   

    HashMap实现了map接口,map又是根据key来存储,而这种存储方式属于list,list是有序的 所以你遍历它也是有序的,至于你存入别的类型,他也是有序的,只不过是根据编码排序罢了。至于为什么会是这样 是因为他们都实现了comparable接口,入果你对这个特感兴趣的话,可以多看看API源码。对于你理解底层和创建自己的JAVABEAN 很有帮助。