HashMap散列图、Hashtable散列表是按“有利于随机查找的散列(hash)的顺序”。并非按输入顺序。
遍历时只能全部输出,而没有顺序。
甚至可以rehash()重新散列,来获得更利于随机存取的内部顺序。
总之,遍历HashMap或Hashtable时不要求顺序输出,即与顺序无关。
如果需要顺序,请使用List的子类,都是有序的。
可以用java.util.LinkedHashMap 就是按加入时的顺序遍历了。
类似的还有 java.util.LinkedHashSet
HashMap中的数据是无序的,如果你想有有序的话可以使用TreeMap,查查JAVA API就知道了。楼上的很正解。