@Override public boolean add(E object) {
//使用局部变量操作集合,处于安全性考虑,不在array变量上进行操作
Object[] a = array;
int s = size;
//该if条件说明,元素数量和数组长度相等,这表示需要对于数组进行扩容
if (s == a.length) {
//扩容采用三目运算符进行,这里就使用掉了前文说过的容量调优参MIN_CAPACITY_INCREMENT
Object[] newArray = new Object[s +
(s < (MIN_CAPACITY_INCREMENT / 2) ?
MIN_CAPACITY_INCREMENT : s >> 1)];
//native的copy方法复制一个新的数组
System.arraycopy(a, 0, newArray, 0, s);
array = a = newArray;
}
//将数据添加到数组中
a[s] = object;
//集合元素数量+1
size = s + 1;
//计数器+1
modCount++;
return true;
}
数据结构Colleaction-----ArrayList
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- http://blog.csdn.net/qiaoquan3/article/details/51380992
- 前言 前一篇我们对数据结构有了个整体的概念上的了解,没看过的小伙伴们可以看我的上篇文章:一文十三张图带你彻底了解所...
- arraylist https://blog.csdn.net/jianyuerensheng/article/d...
- List接口 首先我们需要定义所有需要的方法,比如添删该查等 实现ArrayList 首先我们需要参数。一个数组和...