Hashtable类和HashMap类
相同点:存储的内容都是键值对,key-value值,通过哈希表进行存储,内部冲突通过单链表解决。
不同点:
1、多线程安全问题:Hashtable是同步的,可以在多线程下安全的使用,不需要任何的操作;而HashMap是异步的,多线程下式不安全的,解决方式是Collections.synchronizedMap(Map m)方法,用这个方法返回一个同步的Map,实现多线程下的安全。
2、Hashtable中不允许出现null值,而在HashMap中null可以作为键,这样的键只有一个。
WeakHashMap类
对HashMap类的改进,如果key不被外部引用,就会被GC回收。
EnumMap类
枚举类型做的Map实现,使用EnumMap更加高效。
IdentityHashMap类
在所有的Map操作中key的值是不重复的,如果发生重复就一定会覆盖之前的内容,IdentityHashMap只要地址不重复就表示重复的key。
最近学习的速度有点慢,加油啊,小伙子!