A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 花心々小土豆 中级黑马   /  2013-6-9 20:30  /  1465 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 花心々小土豆 于 2013-6-9 21:28 编辑

下午我回复了一个帖子,其中有一点关于ArrayList怎么自动扩充容量的,以前听毕老师视频的时候说是超过初始值10以后按百分之五十增加(视频第14天06,10分40秒左右讲过,刚特意重新听了一下)。有一哥们说我说错了,还附上源码 int newCapacity = (oldCapacity * 3)/2 + 1; 刚开始我以为我说错了,当然我以前只是听毕老师讲的时候留下的印象,听了毕老师视频以后有看了我jdk中的源码,源码对应的语句是int newCapacity = oldCapacity + (oldCapacity >> 1); 我用的是jdk1.7.0,我又在网上下了一个旧版的jdk源码看了下和上面那哥们是一样的。
版本不同而已。再说到底按照原来的多少倍扩充它不是太重要,我们只要知道ArrayList中元素超出自身容量的时候会扩充就行了,从不同版本中可以看出,Java设计者也不希望我们为此问题纠结。当然,如果我们感觉不爽,自己内存又充足,复写它让它按8倍扩充也行。其实1.5倍和1.6倍没啥太大区别,哪个都有可能在内存中产生碎片的(内存浪费)。看到1.7版中用到了移位,可能只是为了让做这步运算的时候效率高点罢了。
主要是那哥们说我错的时候语气有点让我不爽,更让我惊讶的是,有版主在他给我回复说我错的时候加了技术分,理由是“赞一个”。这都什么心态啊!
我们应该认真对待每个问题,谁回答问题的时候没经过思考,就算回答的确实不对,好好说嘛
记得技术审核规则里有写到,有好的帖子可以给2或3分,版主们应该考虑考虑用下


4 个回复

倒序浏览
声明下 哈  ,这个“赞一个”是论坛快捷默认回复 ,不带什么感情色彩 ,  有什么意见和建议  请跟帖  传送门http://bbs.itheima.com/thread-55007-1-1.html
再有,斑竹们和大家都一样,都在赶进度,每天很多的帖子,不可能都照顾到,也不可能做到每个人都满意,只能尽最大努力是去满足大多数人 请谅解
回复 使用道具 举报
版主嘛~分数都是小意思。懂就行哈!
回复 使用道具 举报
刘凯 发表于 2013-6-9 20:46
声明下 哈  ,这个“赞一个”是论坛快捷默认回复 ,不带什么感情色彩 ,  有什么意见和建议  请跟帖  传送 ...

哦,原来“赞一个”是快捷默认回复  ,,,不好意思啊……  辛苦了!
回复 使用道具 举报
花心々小土豆 发表于 2013-6-9 21:27
哦,原来“赞一个”是快捷默认回复  ,,,不好意思啊……  辛苦了!

我也懒得回头看了。  说不定就是我加的。   确实版主给大家加分  不会说带这种感情色彩的。  另外,加分的时候判断问题的不周之处肯定也会有的。  只能说相互包容了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马