HashMap、Hashtable、LinkedHashMap、TreeMap 区别与理解;

线程安全:

HashMap(非线程安全)

Hashtable(线程安全)

LinkedHashMap(非线程安全)

TreeMap(非线程安全)

对象理解:

Hashmap 继承自 Dictionary 类,根据键的 HashCode 值存储数据只允许一条记录的键为Null根据键可以直接获取它的值,具有很快的访问速度,遍历时取得数据的顺序是完全随机的,不支持线程同步

Hashtable HashMap 类似,它继承自 Dictionary 类,但不允许记录的键或值为null,遍历的时慢与 Hashmap ,支持线程同步

LinkedHashMap 保存了记录的插入顺序,键或值均允许为空,迭代时先得到的记录是先插入的,遍历时慢与 HashMap,不支持线程同步 。

TreeMap 能够根据键排序,默认是按升序排序,也可以指定排序的比较器,迭代时得到的记录是排过序的,不允许key的值为null,支持线程同步

你可能感兴趣的:(Java,Map)