没有合适的资源?快使用搜索试试~ 我知道了~
javalist数据结构-Java数据结构-------List.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 122 浏览量
2022-07-11
08:03:05
上传
评论
收藏 132KB PDF 举报
温馨提示
试读
5页
javalist数据结构_Java数据结构-------List 三种List:ArrayList,Vector,LinkedList 类继承关系图 ArrayList和Vector通过数组实现,⼏乎使⽤了相同的算法;区别是ArrayList不是线程安全的,Vector绝⼤多数⽅法做了线程同步。 LinkedList通过双向链表实现。 源代码分析 1、添加元素到列表尾端(Appends the specified element to the end of this list.) ArrayList:当所需容量超过当前ArrayList的⼤⼩时,需要进⾏扩容,对性能有⼀定的影响。 优化策略:在能有效评估ArrayList数组初始值⼤⼩的情况下,指定其容量⼤⼩有助于性能提升,避免频繁的扩容。 public booleanadd(E e) { ensureCapacityInternal(size+ 1); //Increments modCount!! 确保内部数组有⾜够的空间 elementData[size++] = e; //将元素放在数组尾部 return true; }priv
资源推荐
资源详情
资源评论
javalist数据结构_Java数据结构-------List
三种List:ArrayList,Vector,LinkedList
类继承关系图
ArrayList和Vector通过数组实现,⼏乎使⽤了相同的算法;区别是ArrayList不是线程安全的,Vector绝⼤多数⽅法做了线程同步。
LinkedList通过双向链表实现。
源代码分析
1、添加元素到列表尾端(Appends the specified element to the end of this list.)
ArrayList:当所需容量超过当前ArrayList的⼤⼩时,需要进⾏扩容,对性能有⼀定的影响。
优化策略:在能有效评估ArrayList数组初始值⼤⼩的情况下,指定其容量⼤⼩有助于性能提升,避免频繁的扩容。
public booleanadd(E e) {
ensureCapacityInternal(size+ 1); //Increments modCount!! 确保内部数组有⾜够的空间
elementData[size++] = e; //将元素放在数组尾部
return true;
}private void ensureCapacityInternal(intminCapacity) {if (elementData ==EMPTY_ELEMENTDATA) {
minCapacity= Math.max(DEFAULT_CAPACITY, minCapacity); //如果数组为空数组,取初始容量和minCapacity中的最⼤值,初始
容量DEFAULT_CAPACITY = 10
}
ensureExplicitCapacity(minCapacity);
}private void ensureExplicitCapacity(intminCapacity) {
modCount++; //被修改次数,iterator成员变量expectedModCount为创建时的modCount的值,⽤来判断list是否在迭代过程中被修
改//overflow-conscious code
if (minCapacity - elementData.length > 0)
grow(minCapacity);//如果所需容量⼤⼩⼤于数组的⼤⼩就进⾏扩展
}private void grow(intminCapacity) {//overflow-conscious code
int oldCapacity =elementData.length;int newCapacity = oldCapacity + (oldCapacity >> 1); //旧容量的1.5倍。⼆进制右移⼀位差不
多相当于⼗进制除以2,对CPU来说,右移⽐除运算速度更快。如果oldCapacity为偶数,newCapacity为1.5*oldCapacity,否则为
1.5*oldCapacity-1。
if (newCapacity - minCapacity < 0) //如果计算出的容量不够⽤,就使⽤minCapacity
资源评论
是空空呀
- 粉丝: 168
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功