迭代器 iterator
来源:互联网 发布:企业网络营销策划书 编辑:程序博客网 时间:2024/05/16 08:44
实例1
ArrayList< String > arr = new ArrayList< String >();
Iterator it = arr.iterator();
while( it .hasNext() ){
//做一些处理,比如
System.out.print( it.next );
}
next(), 是返回当前元素, 并指向下一个元素。
hasNext(), 则是判断当前元素是否存在,并指向下一个元素(即所谓的索引)
实例2
iterator如何遍历map:
tmp.keySet().iterator(); 使用map.keySet()获得map的键对象。
map.get(iterator返回的键值) 获得map值
全文来自百度百科 http://baike.haosou.com/doc/4824484-5041154.html
特点
1.迭代器是可以返回相同类型值的有序序列的一段代码;
2.迭代器可用作方法、运算符或get访问器的代码体;
3.迭代器代码使用yieldreturn语句依次返回每个元素,yield break将终止迭代;
4.可以在类中实现多个迭代器,每个迭代器都必须像任何类成员一样有惟一的名称,并且可以在foreach语句中被客户端,代码调用如下所示:foreach(int x in SimpleClass.Iterator2){};
5.迭代器的返回类型必须为IEnumerable和IEnumerator中的任意一种;
6.迭代器是产生值的有序序列的一个语句块,不同于有一个 或多个yield语句存在的常规语句块;
7.迭代器不是一种成员,它只是实现函数成员的方式,理解这一点是很重要的,一个通过迭代器实现的成员,可以被其他可能或不可能通过迭代器实现的成员覆盖和重载;
8.迭代器块在C#语法中不是独特的元素,它们在几个方面受到限制,并且主要作用在函数成员声明的语义上,它们在语法上只是语句块而已;
9.yield关键字用于指定返回的值。到达yieldreturn语句时,会保存当前位置。下次调用迭代器时将从此位置重新开始执行。 迭代器对集合类特别有用,它提供一种简单的方法来迭代不常用的数据结构(如二进制树)。
- Iterator(迭代器)
- Iterator-迭代器
- 迭代器 iterator
- Iterator迭代器
- 迭代器Iterator
- Iterator : 迭代器
- Iterator : 迭代器
- 迭代器Iterator
- 迭代器iterator
- Iterator迭代器
- Iterator迭代器
- iterator (迭代器)
- 迭代器iterator
- 迭代器iterator
- 迭代器 iterator
- 迭代器 Iterator
- 迭代器Iterator
- 迭代器iterator
- 静态库编译命令-ObjC, -all_load, -force_load
- HDU-5461 Largest Point
- CALayer简要概述与特点
- 关于java内部类访问类的静态成员变量
- CompletionService
- 迭代器 iterator
- 关于Cypress公司USB芯片FX2的固件开发
- C++技术点积累(7)——STL之容器汇总
- Can not perform this action after onSaveInstanceState
- 隐私泄露杀手锏 —— Flash 权限反射
- 具有该ID的控件已存在
- MapReduce案例学习(4) 求各个城市的员工的总工资
- JavaScript学习笔记
- 指向常量的指针与常量指针的异同