package two_three;
import java.util.*;
public class testmap {
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String, Object> test = new HashMap();
test.put("tt1", 101);
test.put("tt4", 121);
test.put("tt2", 121);
test.put("tt3", 131);
test.put("tt5", 121);
}
}程序运行后输出的顺序是: 
{tt5=121, tt4=121, tt1=101, tt3=131, tt2=121}
没太看懂怎么是这个顺序??求解谢谢了

解决方案 »

  1.   

    因为是HashMap,此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 此实现假定哈希函数将元素适当地分布在各桶之间!
      

  2.   

    Map里面的元素都是键值对,它是根据key来取value的,里面的元素是没有顺序的。
      

  3.   

    这说明说明呢?HashMap是无序的呗,LinkedHashMap才是有序的
      

  4.   

    +1
    HashMap 和 HashSet是不保证顺序的
    TreeMap 和 TreeSet是自动排序的
    list是按照添加顺序的
    看看API就知道了