黑马程序员技术交流社区

标题: 学习 [打印本页]

作者: XpRan    时间: 2019-9-25 22:34
标题: 学习
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





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2