Iterator

Posted 旗正飘飘 马正萧萧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Iterator相关的知识,希望对你有一定的参考价值。

 1 /*
 2 Iterator接口屏蔽了容器的底层,能够统一的遍历任何容器。
 3 使用Iteartor遍历容器的步骤:
 4 (1)迭代游标  Iterator it
 5 (2)容器c c.iterator() 把容器元素逻辑上排成“人行树”,并返回第一个游标
 6 (3)Iterator it = c.iterator();
 7 遍历和容器无关了,所有操作由迭代游标完成。
 8 boolean hasNext() 游标后面还有元素就返回true
 9 boolean next()    返回此刻游标后面的元素(Object 类型)并把游标前进一次
10 
11 使用Iterator时,不允许改变容器。仅有的操作是使用Iterator删除  it.remove();
12 */
13 import java.util.*;
14 public class IteratorDemo {
15     public static void main(String[] args) {
16         Collection c = new HashSet();
17         
18         c.add("龙文章");
19         c.add("孟烦了");
20         c.add("豆饼");
21         c.add("虞啸卿");
22         
23         Iterator it = c.iterator();//获取游标
24         
25         while(it.hasNext()) {
26             String str = (String)it.next();//注意要进行类型转换
27             System.out.println(str);
28             if(str.equals("豆饼"))
29             it.remove();
30         }
31         
32         System.out.println(c);//toString()
33         
34         /*第二种遍历容器的方法,同样,遍历过程中不容许改变结合,这次,连删除都不可以了*/
35         for(Object obj : c) {
36             String str = (String)obj;
37             if(str.equals("龙文章"))
38             System.out.println("容器中有龙文章");
39         }
40     }
41 }

 

以上是关于Iterator的主要内容,如果未能解决你的问题,请参考以下文章

C++中的QHashIterator

RecursiveDirectoryIterator() 不显示空目录

eclipse中如何自动生成iterator遍历代码块吗?

使用Kotlin中的foreach循环遍历BigInteger值

iterator

Java iterator()和next()原理用法