二 ,hashTable继承自Dictionary类,不允许记录的键和值为空,支持线程的同步,即任意时刻只有一个线程能写Hashtable,因此也导致了Hashtable 在写入时会比较慢
三 ,LinkedHashMap是HashMap的子类,保存了记录的插入顺序,遍历时,先得到数据肯定是先插入的,遍历的速度比HashMap慢,但当HashMap容量很大,实际数据较少时,遍历起来可能会比LinkedHashMap慢,因为LinkedHashMap的遍历速度只和实际数据有关,和容量无关,而HashMap的遍历速度和他的容量有关
四 ,TreeMap实现SortMap接口,能够把保存的记录按照键排序,默认是升序,所以遍历TreeMap时,得到的数据时排过序的
五、HashMap,TreeMap,LinkedHashMap三者使用场景
以及他们的相同点和不同点
1,相同点:
HashMap,LinkedHashMap,TreeMap都属于集合Map接口的子类。都是键值对集合。线程都不安全,效率高。
2,不同点:
(1)HashMap键是哈希表结构,可以保证键的唯一性,key能null,值也可为null。
(2)LinkedHashMap是HashMap的子类,内部依赖哈希表和链表列实现。由hash保证键的唯一性,由LinkedList保证有序性(存取顺序一致)。key能为Null,value也能为null。
(3)TreeMap类,键是红黑树结构,可以保证键的排序(自然排序),并且不能重复。key不能为null,value可以为null
来源:51CTO
作者:小打小闹小生活
链接:https://blog.csdn.net/weixin_44079558/article/details/100082323