每天一道面试题一HashMap、HashTable以及ConcurrentHashMap的区别
HashMap1.不是线程安全的。2.key和value都可以为null,且为null的key只能存在一个,为null的value可以存在多个。3.初始大小为16,每次扩容都会扩容至原来的2倍。4.底层是数组+链表+红黑树,在链表个数大于8时会转化为红黑树。HashTable1.是线程安全,因为方法加上了synchronize关键字。2.key和value都不能是null的。3.初始化大小为11,每次扩容都会扩容至原来的2倍+1.4.底层是数组加链表,没有红黑树转换。Concur