Java学习之 list 遍历
来源:互联网 发布:网络协议分析实验报告 编辑:程序博客网 时间:2024/06/13 09:58
对List的遍历有三种方式
List<A> list = new ArrayList<A>();
list.add(new A());
list.add(new A());
...
第一种:
for(Iterator<A> it = list.iterator(); it.hasNext(); ) {
....
}
这种方式在循环
执行过程中会进行数据锁定, 性能稍差, 同时,如果你想在循环过程中去掉某个元素,只能调用it.remove方法, 不能使用list.remove方法, 否则一定出并发访问的错误.
第二种:
for(A a : list) {
.....
}
内部调用第一种, 换汤不换药, 这种循环方式还有其他限制, 不建议使用它
第三种:
for(int i=0; i<list.size(); i++) {
A a = list.get(i);
...
}
内部不锁定, 效率最高, 但是当写多线程时要考虑并发操作的问题!
第二种:
for(A a : list) {
.....
}
内部调用第一种, 换汤不换药, 这种循环方式还有其他限制, 不建议使用它
第三种:
for(int i=0; i<list.size(); i++) {
A a = list.get(i);
...
}
内部不锁定, 效率最高, 但是当写多线程时要考虑并发操作的问题!
阅读全文
0 0
- Java学习之 list 遍历
- java之遍历list集合
- Java学习之List
- java学习之List集合
- Java学习笔记之List
- java学习------------java集合学习之List
- JAVA LIST 遍历[转]
- JAVA LIST 遍历
- Java list 遍历
- java list遍历
- JAVA LIST 遍历[转]
- Java List遍历
- Java List 遍历
- java list的遍历
- Java - list 遍历方式
- Java遍历List列表
- java 循环遍历List
- Java之List和Map的几种遍历方式
- 完全理解 Python 迭代对象、迭代器、生成器
- flume介绍与原理(一)
- 笔试题--自动生成MAC地址
- 安装kubernetes和配置
- VMwareWorkstation 中安装Centos(64位)图文并茂详细步骤
- Java学习之 list 遍历
- flume架构及源码解析
- 为什么要转行做软件开发?
- quartz
- return,goto语句
- 设计模式六大原则(6):开闭原则
- 学习数据库必须掌握的54条SQL查询语句
- 1051. 复数乘法 (15)
- 【VIM】右键新标签中打开VIM文件