java中List的实现:
1、List 定义了集合的增、删、查、改的方法,最后由它的子类来实现这些方法,下面我们来看看ArrayList源码它是怎么实现:
从上面的的默认构造函数我们不难看出,其实它是创建了一个不可序列化的长度为10对象数组,那它既然已经创建了10个对象的数组,
为什么我们会取不出这些对象呢 ? 安装java虚拟的原则,其实它在加载--准备阶段已经给对象默认初始化为 null 了,其实这个
就是集合里面的size起作用了.其实大家应该都清楚,java对集合的size是做检验的,所以我们是不可能取出超过size的对象。
private int size;
不错, 其实它每往集合里面增加一个对象的时候它都会把 size 增加一的,其实集合里面是存在默认的10 个为 null 的对象,
并对象的size = 0 ,不信看看下面的图:
创建集合对象
debug后看到集合里面的对象:
从上图我们不难看出当我们创建了一个 ArrayList 后它确实有了10个对象,而这些对象的默认都是 null,然后当我们往对象
里面增加一个为 null 的对象时候它就是通过 size 来区分是不是原来默认的 null ,我们在看我往集合里面增加一个为 null 的
对象的时候,它的size = 1 了:
集合里面增加一个为 null的对象:
debug显示的现象:
好了,从上面的对比我们不难看出,其实ArrayList 就是一个默认为10对象的数组,然后它们的默认值得都是null,并通过size来
决定集合的对象。很久没有写博客了,希望大家或老鸟能指导下,大家一起学习。
分享到:
相关推荐
Java集合框架常用集合源代码及其实现,欢迎大家下载学习!!!!!!!!
Java 实例 - 数组转集合源代码-详细教程.zip
Java 实例 - 集合反转源代码-详细教程.zip
Java 实例 - 集合遍历源代码-详细教程.zip
Java 实例 - 集合长度源代码-详细教程.zip
Java 实例 - 集合比较源代码-详细教程.zip
java小程序源代码集合内容包含: 1. java聊天室代码 2. java扫雷代码 3. 俄罗斯方块java源代码 4. java编的五子棋代码 5. 164个JAVA完美程序
Java 实例 - 集合打乱顺序源代码-详细教程.zip
清华大学出版社《数据结构和Java集合框架》源代码。
java集合类类性能测试源代码
集合Java源码java-collections-study Java集合源代码研究和简单实现
此资源包含了Java集合案例及源代码,注释详尽,案例丰富,可辅助教师完成进行相关内容的备课,可有助于学生对集合内容进行复习及巩固
Java 实例 - 集合输出源代码+详细指导教程.zip
useOnlyTest.java 创建多个对象,演示this的作用 useStaticBolck.java 使用静态块 useStVar.java 使用静态成员变量 第4章 示例描述:本章学习继承与多态。 absClass.java 抽象类定义示例 ancestor.java 基类...
Java源代码生成器的集合。
Java 实例 - 只读集合源代码+详细指导教程.zip
Java 实例 - 集合转数组源代码+详细指导教程.zip
Java 实例 - 删除集合中指定元素源代码+详细指导教程.zip
Java 实例 - 集合中添加不同类型元素源代码+详细指导教程.zip
集合Java源码#java-code-gen基于的Java源代码生成器集合 #子项目 :用于编写注释处理器的实用程序。 仅用于getter或getter / setter接口的实现,生成器和属性名称提取器类生成器 Bson Java Bean编解码器生成器。 ...