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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© XpRan 初级黑马   /  2019-9-25 22:34  /  774 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JDK7:
        ArrayList arr = new ArrayList();
                        //底层创建了长度是10的Object[]数组 elementData
        arr.add(123);//如果此次的添加导致底层elementdata数组容量不够,则扩容
                        默认情况下,扩容为原来的1.5倍,同时需要将原有数组中的数据
                        复制到新的数组中
        结论:建议开发中使用带参数的构造器

JDK8:
        ArrayList arr = new ArrayList();
                        //底层Object[]数组 elementData初始化为{} 并没有创建长度为10的数组
        arr.add(123);
                        //第一次调用add()时,底层才创建了长度为10的数组
        扩容时和JDK7一样
小结:JDK8里改的要好一些,节省了内存

FF3028FE-40C2-41EC-9FBD-37CC5FA9DA02.jpeg (9.77 KB, 下载次数: 10)

FF3028FE-40C2-41EC-9FBD-37CC5FA9DA02.jpeg

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马