ArrayList和LinkedList
2018-01-13 本文已影响0人
浅笑_回眸
-
ArrayList
底层维护的是一个Object类型的数组,使用无参构造方法, 创建一个ArrayList集合对象默认的元素个数为10
特征:
查询快,增删慢查询快:
使用的是数组的下标访问方式,可以直达目标位置增删慢:
增加,有可能会触发数组的扩容机制,会创建一个新的数组,新的数组元素个数大约是原
数组的1.5倍。然后会有一个数组拷贝的过程,这个过程是将原数组里面的每一个元素个
复制到新数组中,这个操作消耗大量的时间和空间删除 是从Object数组中删除是一个元素,删除之后,后面元素会向前移动,移动的过程 是一个复制的过程,这个操作,比较浪费时间
增加的原理是:
newCapacity = oldCapacity + (oldCapacity >> 1);
2.LinkedList:
底层维护的是一个链表 《数据结构》
增删快,查找慢