其他两个元素的角标不会移动 本来数据时这样排列的 a b c 当你把b删除后,这时只是将a与后面了连接指向了c,而c与前面的连接指向了a 只是这两个数指向角标的值变化了。其他任何元素都不需要进行变换!作者: 朱盛文 时间: 2013-4-4 16:11
如图所示:
ArrayList底层数据结构是数组,每个元素都有自己的索引,所以通过索引进行查找就比较快,但是增删的话就会引起大部分的数据移位,所以比较慢。
而LinkedList底层数据结构是链表,每个元素本身有一个地址值,在它前面一个元素就是通过这个地址值找到它;它还有一个属于它本身的值,另外它还有一个是链接到下一个元素的地址值的值,通过这个元素它就可以找到下一个元素。在增删时,只需把链接的地址值进行修改即可。而查询时,是需要从头进行查找,通过每个元素所链接的地址值来获取下一个元素,所以就比较慢。