java中ArrayList和LinkedList使用注意事项
来源:互联网 发布:88折话费 源码 编辑:程序博客网 时间:2024/05/16 15:59
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
0 0
- java中ArrayList和LinkedList使用注意事项
- JAVA中Arraylist和LinkedList
- java中ArrayList和LinkedList
- Java中 ArrayList和LinkedList
- Java中 ArrayList、Vector和LinkedList 的使用和详解!
- Java中 ArrayList、Vector和LinkedList 的使用
- Java中 ArrayList、Vector和LinkedList 的使用
- Java中 ArrayList、Vector和LinkedList 的使用
- Java中ArrayList、linkedList的使用和区别
- JAVA中LinkedList和ArrayList的使用及性能分析
- Java中ArrayList和LinkedList区别
- Java中ArrayList和LinkedList区别
- Java中ArrayList和LinkedList区 别
- Java中ArrayList和 LinkedList区别
- Java中ArrayList和 LinkedList区别
- JAVA中ArrayList和LinkedList的区别
- [转]Java中ArrayList和LinkedList
- Java中ArrayList和LinkedList区别
- Disruptor 极速体验
- Android MVP 实现。基于Dagger2 + RxJava + Retrofit2 + Realm + ButterKnife + EventBus
- Tomact启动成功 测试失败解决
- WPF教程(二十九)Grid行和列
- leetcode---Reverse Bits
- java中ArrayList和LinkedList使用注意事项
- [Android 外挂字幕维护Note] MakeFile文件修改添加
- VMware中Ubuntu出现Unknown Display问题
- 2.2 PDFlib 输出中文内容及命名
- 用Android Studio编辑代码时,光标变粗
- Git基本使用整理
- JSP新闻系统跟我学之一数据库设计
- Zabbix 3配置脚本报警(二)
- Pandas Series