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 注意 :那么将有一些数值永远无法得到

最新文章

  1. async await
  2. escape,encodeURI,encodeURIComponent的区别
  3. SQL Join的一些总结
  4. EF下泛型分页方法,更新方法
  5. iOS - OC NSDate 时间
  6. Javascript 中的小括号 “()” 的多义性
  7. shell中exit命令不退出脚本
  8. UIScrollView 与 UIPageView 的联合使用
  9. HTTP头信息(转)--2
  10. openrisc 之 Wishbone总线学习笔记——总线特性
  11. Conversion to Dalvik format failed: Unable to execute dex
  12. addChildViewController transitionFromViewController nib storyboard
  13. 解决npm install安装了太多架包的问题
  14. 【BZOJ4556】字符串(后缀数组,主席树)
  15. python 几分钟前,几小时前,几天前转为时间戳
  16. windows异步通知I/O模型
  17. 提取日志中出现的userId或其他信息
  18. php数据库单例模式理解
  19. iOS html5使用缓存并及时更新方案总结
  20. vector.resize 与 vector.reserve的区别(转载)

热门文章

  1. mumu模拟器手Q自动化配置
  2. Go合集,gRPC源码分析,算法合集
  3. java小项目之:扫雷,这游戏没有你想的那么简单!
  4. css常用单词
  5. 《C++Primer》第五版习题详细答案--目录
  6. 小小TODO标识,你用对了吗?
  7. Google 开源的 Python 命令行库:fire 实现 git 命令
  8. MongoDB DBA 实践8-----Linux系统Mongodb分片集群部署
  9. (2)MongoDB副本集自动故障转移原理
  10. scrapy在存储数据到json文件中时,中文变成为\u开头的字符串的处理方法