HashMap概念 指定了一个数字作为容量,那么Hash会选择大于该数字的第一个2的幂作为容量.(1->;2,7->;8,9->16)HashMap是有扩容机制的,扩容条件就是当HashMap中的元素个数...是16 threshold:临界值,当实现KV个数超过时,HashMap会将其扩容,threshole=容量*加载因子size和capacity的区别:HashMap像一个"桶" ...
HashMap底层使用数组,每个数组元素存的是Node类型(或者TreeNode),table的每一个位置,又可以称为Hash桶,也就是说,会将相同hash值的元素存放到一个Hash桶中(这里的hash值,是指对key计算的hash值),也就是在Table的下标中相同,为了解决同一个位置有多个元素(冲突),HashMap用来拉链法和红黑树两种数据结构来解决冲突 ...
V>[]tab;Node<K,V>p;intn,i;// table未初始化或者长度为0,进行扩容if((tab=table)==null||(n=tab.length)==0)n=(tab=resize()).length;// (n - 1) & hash