为什么ArrayList扩容是1.5倍,而不是2倍或者其他?
面试被问到,然后不会,凉凉...😭
全部评论
我觉得是因为1.5倍可以用自己加上一次位移操作获得,速度比较快。而2倍有太多了
1 回复 分享
发布于 2020-04-26 16:21
个人想法,应该是为了减少扩容次数但是又不想一次分配过大的数组,因为数组是固定大小存储
1 回复 分享
发布于 2020-04-26 16:11
这是因为,如果二倍扩容的话,那释放的内存连接起来的大小(如果拼接的话),都小于即将要分配的内存大小。浪费空间,而1.5倍的话,可以重用之前的释放的内存,扩容几次回收的内存就会足够分配下一次扩容的空间(我们老师讲过😁),我还碰到问我:为什么Java是单继承的呢!!这些人,就差不问你为什么1+1=2了,关键是一问准懵,唉;
5 回复 分享
发布于 2020-04-26 16:32

相关推荐

07-14 13:37
重庆大学 C++
点赞 评论 收藏
分享
07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务