一.HashMap底层
采用数组+链表+红黑树(JDK)
HashMap默认容器长度为16
数组的形式为:
二、扩容机制
默认长度为16,他的负载因子是0.75,以2的n次方进行扩容
因为16 * 0.75 = 12 所以在默认不扩容的条件下只能存储12个元素,当存储第13个元素的时候就会进行一个扩容、所以当存储第13个元素的时候就会进行一个扩容。
这个方法是取给定值四舍五入之后的2的倍数,比如5—->6 ,15->16, 27->32
一.HashMap底层
采用数组+链表+红黑树(JDK)
HashMap默认容器长度为16
数组的形式为:
二、扩容机制
默认长度为16,他的负载因子是0.75,以2的n次方进行扩容
因为16 * 0.75 = 12 所以在默认不扩容的条件下只能存储12个元素,当存储第13个元素的时候就会进行一个扩容、所以当存储第13个元素的时候就会进行一个扩容。
这个方法是取给定值四舍五入之后的2的倍数,比如5—->6 ,15->16, 27->32