集合遍历之Iterator与foreach
来源:互联网 发布:q叔淘宝店叫什么名字 编辑:程序博客网 时间:2024/05/17 07:09
遍历集合时,我们是用iterator()还是foreach呢,今天就让我来分析下,还望各位看官多多指点一下
iterator中:
迭代器是一种模式,使得相对于序列类型的数据结构的
遍历和被遍历的对象分离
即无需关心该序列的底层结构。
Iterator提供了一种访问一个容器对象中的各个元素而又不暴露对象内部结构的方法。所以迭代器又被认为是轻量级的容器
迭代器使用的注意事项:
1.使用iterator()返回Iterator,然后通过Iterator的next()返回第一个元素
2.使用Iterator的hasNext()方法判断容器中是否还有元素。如果有,
用next()获取下一个元素
3.remove()删除迭代器返回的元素
Iterator的实现:
package iteratorExample;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test { public static void main(String[] args){ List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); //方法一:for循环 for(int i=0;i<list.size();i++){ System.out.print(list.get(i)); } //方法二:超级for循环遍历,foreach for(String attr:list){ System.out.print(attr); } //方法三:集合类的通用遍历方式iterator() Iterator it = list.iterator(); while(it.hasNext()){ System.out.print(it.next()); } }}
在这三种方式中,我们更偏向于选择iterator(),主要在于这样迭代器统一了对容器的访问方式,体现了解耦性。
较为特殊的是第二种形式,我们往往称之为增强for循环。
利用了Java语法糖,或许可以一探究竟,看它与for和iterator的关系:
反编译:
利用for循环和iterator()遍历所有元素。我们发现增强for循环根本还是iterator(),所以一定层面上说,iterator()或许是最佳实践了吧。
阅读全文
0 0
- 集合遍历之Iterator与foreach
- Foreach与Iterator遍历集合注意
- 集合遍历 Iterator Foreach
- Iterator与foreach遍历
- java 集合遍历Iterator/foreach
- 集合的遍历:Iterator接口、foreach
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin
- 用foreach和Iterator遍历集合的方法
- 集合框架-for、foreach、Iterator三种遍历方法
- 对数据遍历的三种方式之foreach 、for与Iterator
- iterator 遍历与for循环与foreach的优劣对比
- java 遍历 Iterator foreach for
- java之foreach&Iterator
- iterator遍历集合解析
- iterator 遍历集合
- Struts2 iterator遍历集合
- Iterator遍历集合特点
- 黑马程序员_两种遍历集合的方法Iterator接口和foreach循环
- WSN_OS学习之任务状态转换框架(一)
- AUTOCOMMIT自动提交该参数要大写才能生效,否则即使小写autocommit改为off,但小写的autocommit并不生效
- Python模块(学习使用模块和安装第三方模块)
- 数据库的基本操作(1)
- xss练习-prompt(1) to win
- 集合遍历之Iterator与foreach
- Hibernate--组件
- python爬虫实践----爬取京东图片
- 查分约束系统板子
- 自动人脸识别基本原理 --基于静态图像的识别算法(一)特征脸补充知识 PCA
- ext6.2 store如何更新数据刷新
- CNTK API文档翻译(21)——深度卷积GAN处理MSIST数据基础
- java switch语句的一个例子
- shell 脚本 read 提供默认值