• HashMap HashTable LinkedHashMap TreeMap

    HashMap HashTable LinkedHashMap TreeMap

    不允许键重复,值可以重复。

    HashMap是一个最常用的Map, 它根据键的hashCode值存储数据,
    根据键可以直接获取它的值,
    具有很快的访问速度.
    HashMap最多只允许一条记录的键为null,
    不允许多条记录的值为null.
    HashMap不支持线程的同步,
    如果需要同步,
    可以用Collections.synchronizedMap(HashMap map)方法使HashMap具有同步的能力.

    Hashtable与HashMap类似,
    不同的是:
    它不允许记录的键或者值为空;
    它支持线程的同步.

    LinkedHashMap保存了记录的插入顺序,
    在用Iteraor遍历LinkedHashMap时,
    先得到的记录肯定是先插入的.
    在遍历的时候会比HashMap慢.
    有HashMap的全部特性.

    TreeMap能够把它保存的记录根据键排序,
    默认是按升序排序,
    也可以指定排序的比较器.
    当用Iteraor遍历TreeMap时,
    得到的记录是排过序的.
    TreeMap的键和值都不能为空.