Java集合XMind与注意事项

Java中集合使用时的几个注意事项:

1.ArrayList和HashMap都具有扩容

ArrayList初始化数组长度为10,扩容后的容量为原来的1.5倍。

HashMap初始化的数组长度为16,扩容后的控量为原来的2倍。

补充说明HashMap为什么扩容为原来的2倍?

16 , 32 , 64 ……
15 , 31 , 63……

像15,31,63这些数值的二进制最后几位全部是1.
如果最后几位全部是1的话那么hash值是多少都能得到
(数组上的每一个索引位置都可能算到,否则一定有些索引位置将永远无法得到,也就是将永远无法存数据)

1111
0000
-----
1111

1111
0100
----
0100

1111
x
----
x

如果不是1111存在的问题
1011
0100
----
0000

1011
0111
----
0011 注意 :那么将有一些数值永远无法得到

原文地址:https://www.cnblogs.com/atBruce/p/12109122.html