- HashMap与HashTable的区别:
1. Hashtable类里的方法有锁旗标,是一个线程安全的Map实现类,
但HashMap是线程不安全的实现类。因此HashMap比Hashtable的性能高一点。
2.Hashtable不允许使用null作为key和value。
3.HashMap和Hashtable判断两个key相等的标准是:
两个key通过equals方法比较返回true,两个key的hashCode值也要相等。
HashMap和Hashtable包含一个containsValue方法用于判断是否包含指定vlaue,
4.HashMap和Hashtable判断值相等的标准:
只要两个对象通过equals方法比较返回true即可。
- LinkedHashMap实现类:
LinkedHashMap和LinkedHashSet相同,也是使用双向链表来维持键值对的顺序,
该链表定义了迭代顺序,该迭代顺序与键值对的插入顺序保持一致。
LinkedHashMap需要维护元素的插入顺序,因此性能略低于HashMap的性能,
但是在迭代方法Map集合的全部元素时将有很好的性能,因为它以链表来维护内部顺序。