集合框架是java基础学习中非常重要的一部分,学会集合用法的同时去了解一下集合内部代码实现原理对我们日后的java学习的帮助是十分大的;我们现在来了解一下ArrayList原理:ArrayList内部其实就是封装一个默认固定大小的对象数组;不过数组的大小是可动态改变的;当存储一定的元素超出数组原有大小时,此时list对象会动态创建一个容量更大的数组,再将原有数组内的元素复制到新数组中去;这也就意味着当我们存数的元素数量越大时,创建新数组需要复制元素个数也更多,这样加大了内存动作的消耗,这样我们便能理解为什么ArrayList添加元素的效率不如其他集合效率的原因所在了.
现在我们来用自己的代码实现封装一个ArrayList集合;掌握代码原理并了解代码的思想,听说有人出去面试就遇见了自己写一个集合代码的面试题
我封装的集合代码经测试常用功能均能正常运行;不过我封装集合方法代码远远没有jdk源代码那样复杂,有兴趣的小伙伴可以去查看查看ArrayList源代码