java中ArrayList和LinkedList使用注意事项,
分享于 点击 16688 次 点评:64
java中ArrayList和LinkedList使用注意事项,
1. ArrayList和LinkedList的访问方式
由于ArrayList实现了RandomAccess访问方式所以在循环读取的时候我们采用下标的方式访问。
如果我们使用foreach方式访问(即:伪码)
for(Object obj : ArrayList){
System.out.println(obj);
}
以上访问方式会采用Iterator的方式访问。Iterator采用的方式是记住相邻元素的位置,然后依次读取访问。
这样就明显就与RandomAccess相悖,所谓RandomAccess就是可以随机获取指定元素位置的数据。
2.LinkedList本来就是列表的数据结构,所以元素与元素之间本来就有关联关系。所以访问时,我们可以使用迭代的方式访问最好不过了。
ps:默认使用get(index),通过阅读底层代码我们发现它是使用查找的方式获取指定元素的:就是将整个LinkedList的size除以2,然后与index进行比较
如果大于size/2 则倒序循环访问直到size/2位置查找指定位置的数据。如果index小于size/2,则顺序访问直到size/2位置找到对应元素。
3.由于ArrayList底层是数组结构,LinkedList底层是链表的数据结构,所以决定了他们更适合用途。
如果涉及到元素的增删操作比较频繁时我们使用LinkedList,而涉及到元素的随机获取我们使用ArrayList
相关文章
- 暂无相关文章
用户点评